This generic bot will allow you to enable asynchronous configurable standups in Discord. By initializing the bot in a channel participants will be able to enter their daily/weekly tasks in a web form which will be bundled on a public or private website and posted in the channel in a pinned message.
- Boilerplate bot code
- Basic models
- Creating new Daily Standup Channels
- Creating the Admin interface
- Allowing people to subscribe to the daily of a channel
- Support multiple standup types with different questions (configurable)
- Creating the web form on single use URLs
- Allowing people to submit their report
- Sending daily reminders
- Updating and pinning the aggregated daily
- Historical overview of standups on webpage
- Implementing a basic design
- Private mode (only participants get the standup URL)
- Local timezone support
- Read only participant support
- Support for reporting X hours after initial start of standup
- Support for browsing history in the browser
- Support for snoozing DM's for X days (vacation mode,
!mute_until
) - Support for reminders when not filled
- Create a Discord bot token on https://discordapp.com/developers
- Create a .env file and enter your Discord token:
DISCORD_TOKEN=TOKENHERE
- Invite the bot to your server with this URL: https://discordapp.com/api/oauth2/authorize?permissions=67497024&scope=bot&client_id=YOUR_BOTS_DISCORD_CLIENT_ID
- Create a
.env
file withDISCORD_TOKEN=TOKENHERE
in it - Tweak any settings in
standup/settings.py
to your needs - Run the Django server (
python manage.py runserver
for a dev server, production deploy with gunicorn or uwsgi on demand) - Run the
python manage.py run_bot
command in a seperate background process (supervisord) - Run
python manage.py createsuperuser
to create a admin user - Run
python manage.py collectstatic
to gather your static files for the website - Go to the admin on
/admin
in your browser, log in and....- Update the Site in Sites to match your servers URL
- Set up the first standup types with questions
- Start using the bot in Discord using the
!newstandup
and!addparticipant
commands - See all available commands by executing
!standup
, the bot will DM a overview