PyDiscoBot is a general use python-based discord utility bot. It is meant as a very robust and feature-rich starting point for extending this repo into other bots.
Download this repo and pip install it to begin using it immediately!
Start off by pip installing the module
pip install ../PyDiscoBot/. --upgradeYou can easily install the requirements via python's pip module!
pip install -r requirements.txtMake sure to include these imports!
import discord
from discord.ext import commands
import dotenv
import os
import pydiscobotCreate a custom class for your bot!
class MyBot(pydiscobot.Bot):
def __init__(self,
command_prefix: str | None = None,
bot_intents: discord.Intents | None = None,
command_cogs: [discord.ext.commands.Cog] = None):
super().__init__(command_prefix=command_prefix,
bot_intents=bot_intents,
command_cogs=command_cogs)To add functionality when the bot comes online, over-ride the on-ready function of the bot!
async def on_ready(self,
suppress_task=False) -> None:
await super().on_ready(suppress_task) # remember to call the parent class here!
# do_some_code_here!!!To add functionality to each of the bot's "ticks", over-ride the on_task function of the bot!
async def on_task(self) -> None:
await super().on_task() # remember to call the parent class here!
# do some task-y stuff here!Run your file!
if __name__ == '__main__':
dotenv.load_dotenv()
intents = discord.Intents(8)
# noinspection PyDunderSlots
intents.guilds = True
# noinspection PyDunderSlots
intents.members = True
# noinspection PyDunderSlots
intents.message_content = True
# noinspection PyDunderSlots
intents.messages = True
# noinspection PyDunderSlots
intents.reactions = True
bot = MyBot('ub.',
intents,
[...discord.ext.commands.Cog])
bot.run(os.getenv('DISCORD_TOKEN'))Build - 🚧 beta
Version - 1.1.3
- discord.py==2.3.2
- python-dotenv==1.0.1
🎇 Main Site:
📮 Apply Today!:
📷 Check out our twitter!: