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.
Current status
- 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
How to add the bot to your Discord server
- 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
Installation
- Create a
.envfile withDISCORD_TOKEN=TOKENHEREin it - Tweak any settings in
standup/settings.pyto your needs - Run the Django server (
python manage.py runserverfor a dev server, production deploy with gunicorn or uwsgi on demand) - Run the
python manage.py run_botcommand in a seperate background process (supervisord) - Run
python manage.py createsuperuserto create a admin user - Run
python manage.py collectstaticto gather your static files for the website - Go to the admin on
/adminin 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
!newstandupand!addparticipantcommands - See all available commands by executing
!standup, the bot will DM a overview