在 Django 中运行 Discord 机器人



我想要一个访问Django DB的不和谐机器人。一个明显的解决方案是有 2 个单独的脚本。我想知道是否有办法使 Django 的 discord-bot 成为应用程序或其他东西的一部分。

您可以在单独的线程中运行不和谐机器人,也可以相互设置属性。同样,如果你愿意,你也可以在不同的线程中运行 django。

import threading
django_app = DjangoApp()  # However this works, I'm not familiar with Django
bot = discord.Bot()  # commands.Bot() for the discontinued discord.py
bot.django = django_app
django_app.discord_bot = bot
thread = threading.Thread(target=lambda: bot.run(BOT_TOKEN))
thread.start()```

如果您使用的是discord.py则可以创建如下所示的管理命令:

from django.conf import settings
from django.core.management.base import BaseCommand
description = """
My bot from an SO answer
"""
intents = discord.Intents.default()
intents.members = True
intents.message_content = True
bot = commands.Bot(command_prefix="?", description=description, intents=intents)
class Command(BaseCommand):
help = "Runs the discord bot"
def handle(self, *args, **options):
bot.run(settings.DISCORD_BOT_TOKEN)

我还创建了一个库,使这更容易 https://pypi.org/project/django-discord-py/但这肯定不是必需的。

相关内容

  • 没有找到相关文章

最新更新