aboutsummaryrefslogtreecommitdiffstats
path: root/dev/bot/__main__.py
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2022-07-23 17:17:29 +0200
committerGravatar GitHub <[email protected]>2022-07-23 17:17:29 +0200
commit94c4b408f1afa604ae6907aa28ab694870af20f2 (patch)
tree6a93d9648d033a4e535424defe3eaa407eb41dc5 /dev/bot/__main__.py
parentMerge pull request #99 from python-discord/dependabot/pip/pre-commit-2.20.0 (diff)
parentDocument Sample Project Environment Variables (diff)
Merge pull request #107 from python-discord/better-development
Fix Docker Compose & Add Boilerplate Project
Diffstat (limited to 'dev/bot/__main__.py')
-rw-r--r--dev/bot/__main__.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/dev/bot/__main__.py b/dev/bot/__main__.py
new file mode 100644
index 00000000..00ebdefc
--- /dev/null
+++ b/dev/bot/__main__.py
@@ -0,0 +1,34 @@
+import asyncio
+import os
+
+import aiohttp
+import discord
+import dotenv
+from discord.ext import commands
+
+import botcore
+from . import Bot
+
+dotenv.load_dotenv()
+botcore.utils.apply_monkey_patches()
+
+roles = os.getenv("ALLOWED_ROLES")
+roles = [int(role) for role in roles.split(",")] if roles else []
+
+bot = Bot(
+ guild_id=int(os.getenv("GUILD_ID")),
+ http_session=None, # type: ignore # We need to instantiate the session in an async context
+ allowed_roles=roles,
+ command_prefix=commands.when_mentioned_or(os.getenv("PREFIX", "!")),
+ intents=discord.Intents.all(),
+ description="Bot-core test bot.",
+)
+
+
+async def main() -> None:
+ """Run the bot."""
+ bot.http_session = aiohttp.ClientSession()
+ async with bot:
+ await bot.start(os.getenv("TOKEN"))
+
+asyncio.run(main())