Skip to main content

A cli bot to send simple messages to a Discord channel.

Project description

GitHub release GitHub code size in bytes MHTML License PyPI supported Python versions Code style: black

A simple python Discord bot to send messages to Discord channel via command line.

It allows markdown formatted messages and attaching files.

It registers the following commands:

  • dbot-run - main CLI entry-point

  • dbot-message - (short-hand) to send a message, or even pipe - message contents

  • dbot-file - (short-hand) to send a file with an message

  • dbot-info - (short-hand) to send a message with system information (extra dependencies have to be installed!)

Requirements

Installation

python3 -m pip install discord-notifier-bot

Optionally, install it locally with --user.

For system info messages using dbot-info or dbot-run info [...], you have to install extra dependencies. You can choose between cpu (cpu + disk information) and gpu (nvidia-smi information):

python3 -m pip install discord-notifier-bot[cpu,gpu]

Configuration

Configuration is done by placing a .dbot.conf file in one of the following directories:

  • $HOME/.dbot.conf

  • $HOME/dbot.conf

  • ./.dbot.conf

  • ./dbot.conf

  • /etc/dbot.conf

Alternatively a configuration file can be provided via -c/--config CLI options.

The configuration file should be a standard INI file. A template can be found in the templates folder. All configurations are placed under the discord-bot section.

Example:

[discord-bot]
# the bot token (used for login)
token = abc
# the numeric id of a channel, can be found when activating the developer options in appearances
channel = 123

Usage

dbot-message and dbot-file are simpler versions of dbot-run.

Print help and available options:

dbot-run -h

Sending messages:

# send a simple message
dbot-run message "Test message"
# or shorter:
dbot-message "Test **message**"

# pipe output
echo "Test" | dbot-emessage -

# wrap it inside a code-block ```
# optionally with a type
cat `which dbot-message` | dbot-message - --type
cat `which dbot-message` | dbot-message - --type python

Sending a file:

dbot-file README.rst "Your message to desribe the attached file"
# or with no visible message:
dbot-file README.rst ""

# optionally also like this:
dbot-run file -f README.rst "Message ..."

You are always able to specify the configuration file like this:

dbot-run -c /path/to/dbot.conf [...]
dbot-{message,file} -c /path/to/dbot.conf [...]

Only with dbot-run: To display debugging information (api calls, log messages etc.):

dbot-run -v [...]

You may also run the bot with the python module notation. But it will only run the same entry-point like dbot-run.

python -m discord_notifier_bot [...]

Bot Creation etc.

See information provided by:

Short description

You have to own a Discord server! Or know someone with administrator/moderation(?) privileges.

  1. Visit and login to the Discord developer page.

  2. Create a new application. The given name is also the visible name of the bot. (default, can be changed later?)

  3. Create a bot (on the Bot page). You should disable the Public Bot option.

    • The bot login token (credentials) can be found on the Bot page.

  4. Change to the OAuth2 page and check

    • Scopes: Bot

    • Bot Permissions: Send Messages, Attach Files (in the Text Permissions column)

  5. Copy the URL in the Scopes section and paste it in a new browser tab.

    • Now you can choose one (?) of your own Discord servers to add the bot to. (For this you need server administration permissions, or be the owner..?)

To get the channel id, send the following message on your server \#channelname, or enable developer options. You may want to visit the following pages for more information:

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

discord-notifier-bot-0.2.0.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

discord_notifier_bot-0.2.0-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page