A Discord bot for SpellTable
Project description
SpellBot
A Discord bot for SpellTable.
🤖 Using SpellBot
Once you've connected the bot to your server, you can interact with it over Discord via the following commands in any of the authorized channels. Keep in mind that sometimes SpellBot will respond to you via Direct Message to avoid being too spammy in text channels.
!help
: Provides detailed help about all of the following commands.!about
: Get information about SpellBot and its creators.
✋ Commands for Players
Just looking to play some games of Magic? These commands are for you!
!lfg
: Sign up to play Magic: The Gathering!!join
: Look for a game to join, but don't create a new one.!leave
: Leave any games that you've signed up for.
When you run the !lfg
command, SpellBot will post a message for sign ups.
Other users can react to it with the ➕ emoji to be added to the game. When the game is ready, SpellBot will update the message with your SpellTable details.
Users can also use the ➖ emoji reaction to leave the game.
🎟️ Commands for Event Runners
These commands are intended to be run by SpellBot Admins and help facilitate online events.
!game
: Directly create games for the mentioned users.!event
: Create a bunch of games all at once based on some uploaded data.!begin
: Start an event that you previously created with!event
.!export
: Export historical game data for your server.
👑 Commands for Admins
These commands will help you configure SpellBot for your server.
!spellbot
: This command allows admins to configure SpellBot for their server. It supports the following subcommands:config
: Just show the current configuration for this server.channels
: Set the channels SpellBot is allowed to operate within.prefix
: Set the command prefix for SpellBot in text channels.expire
: Set how many minutes before games are expired due to inactivity.
🤫 Secrets
There's some secret hidden features of SpellBot. For example if you use the
tags ~mtgo
or ~arena
when creating a game, it will direct players to use
those systems instead of SpellTable. Ok, I guess that's not secret anymore. But
you kinda get the idea. Well, you've been warned. Hopefully these features are
intuitive and helpful 🤞 — and if not,
please report bugs and request features to your heart's content.
🙌 Support Me
I'm keeping SpellBot running using my own money but if you like the bot and want to help me out, please consider donating to my Ko-fi.
❤️ Contributing
If you'd like to become a part of the SpellBot development community please first know that we have a documented code of conduct and then see our documentation on how to contribute for details on how to get started.
🔧 Running SpellBot Yourself
First install spellbot
using pip
:
pip install spellbot
Provide your Discord bot token with the environment variable SPELLBOT_TOKEN
.
As well as your SpellTable API authorization token via SPELLTABLE_AUTH
.
You can get your bot token from Discord. Your bot will need the following text permissions enabled:
- Send Messages
- Add Reactions
As for the SpellTable API authorization token, you'll have to talk to the SpellTable developers. You can join their Discord server by becoming a SpellTable patron.
By default SpellBot will use sqlite3 as its database. You can however choose to
use another database by providing a SQLAlchemy Connection URL. This
can be done via the --database-url
command line option or the environment
variable SPELLBOT_DB_URL
. Note that, at the time of this writing, SpellBot is
only tested against sqlite3 and PostgreSQL.
More usage help can be found by running spellbot --help
.
🐳 Docker Support
You can also run SpellBot via docker. See our documentation on Docker Support for help.
MIT © amy@lexicalunit et al
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for spellbot-3.13.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7e49fdb4849e2ad31570cafc1ca7b28bd4192fecbb4f106cdeb2227939453be |
|
MD5 | c28b9c3323b2fb15da478a42343cdfea |
|
BLAKE2b-256 | 7df34eaaa112a0462e0d49f8da72ebf90d032c5098ac214e070894e8a5ba491b |