teamshortcut / Discord-Maths-Bot

Uses the Kings Maths School Seven Day Maths Weekly Challenge and their archive of problems for a Python Discord bot.
MIT License
0 stars 5 forks source link

Discord Maths Bot

A Discord Maths Bot written in Python. designed to give problems from the Kings Maths School Seven Day Maths website. https://www.kingsmathsschool.com/weekly-maths-challenge This includes the current weekly challenge, as well as a random problem from their archive.

Usage

Question Categories: Algebra, Combinatorics, Geometry, Number Theory, Probability, Ratios and Proportions

Dependencies

Python libraries:

Other

To know when the weekly challenge has change, the bot relies on a webhook that posts to a Discord channel to trigger the message with the Weekly Challenge in it. This is used because @sevendaymaths only tweets when the challenge has updated, and thus serves as a useful trigger for the bot. Currently, this is done with an IFTTT applet; further details can be found in the Installation guide but details of the applet can be found below.

Installation

The bot has been tested with Python 3.7 and discord.py 1.3.0a, and are the recommended versions to use.

Install the required libraries using pip, again making sure they are the correct versions for your version of Python.

Once all the libraries are installed, the webhook and Discord channel must be set up. Create an IFTTT account if you have not already, then create a new applet. The trigger should be New tweet by a specific user where the username to watch is sevendaymaths. The response should be to Make a web request with IFTTT's webhook functionality. The URL should be your own Discord webhook URL; information on how to set this up can be found here. Make sure in your Discord server there is a dedicated (ideally private) channel set up, that can be used with this webhook. The following information should then be filled in about your request:

Finally, ensure that all constants at the top of the program are filled in with your values.

TOKEN = "XXX" #This is the token from Discord for your bot. This assumes your bot has been created and set up already.
NOTIF_CHANNEL_ID = 123 #This is the ID of the channel that your webhook will send messages to
TARGET_CHANNEL_ID = 123 #This is the ID of the channel you would like the bot to send the message containing the Weekly Challenge to

And you should be good to go! Simply run your program python maths-bot.py to get your bot online.


This project is licensed under the terms of the MIT license, which can be found in the LICENSE.txt file in the root of the repository.