【问题标题】:Is there a way I can run a Discord bot alongside Django?有没有办法可以在 Django 旁边运行 Discord 机器人?
【发布时间】:2022-03-15 05:09:42
【问题描述】:

我已经使用 Django 创建了网站,现在我希望能够使用该机器人从 Discord 中获取信息以供使用。例如,有多少成员在特定服务器中,或者只有在某个人在服务器中时才让他们进入某个页面。有没有办法可以让机器人与其他所有东西一起运行,或者替代解决方案?提前感谢您的帮助!

编辑:感谢您提供以下建议,但是我将所有内容都阅读了好几遍,但我无法理解它是如何工作的,或者我该如何应用它。我只是选择了我在下面解释的最简单的解决方案

编辑 2: 忘记再次编辑这篇文章,但不久前当我试图解决这个问题时,我实际上废弃了我把解决方案放在下面,而是使用 get 请求来获取成员数量,这是一个更好的解决方案。

我使用的解决方案(在此之前阅读编辑 2): 这可能是“更难做”的解决方案之一,但因为我发现我有能力做到这一点,我就接受了。在主要的 Django 应用程序中,我创建了一个用于运行机器人的 Python 文件和一个机器人可以将数据保存到的 json 文件。然后从那个 json 文件中,views.py 文件可以获取信息。这里唯一的“问题”是其他人可能很难让机器人与他们专门用于该操作系统的操作系统保持一致运行。我正在使用我整天使用的 Raspberry Pi 直接从项目目录运行机器人(我已经使用 Raspberry Pi 来运行各种 Python 机器人,所以这只是添加了另一个机器人)。我不知道是否有任何方法可以从诸如 Heroku 之类的东西运行它并能够访问项目文件。

【问题讨论】:

标签: django discord.py


【解决方案1】:

这有点晚了,但对于下一个有同样问题的人

您可以使用 django 管理命令 (https://docs.djangoproject.com/en/4.0/howto/custom-management-commands/) 只需在 your_project/your_app/management/commands/

下创建一个 .py 文件

并像这样包装机器人

from django.core.management.base import BaseCommand
from django.conf import settings

from .bot import DiscordBot


class Command(BaseCommand):
    help = "Run a discord bot"

    def handle(self, *args, **options):
        bot = DiscordBot()
        bot.run(settings.DISCORD_BOT_TOKEN)

完成后,您可以使用以下命令运行您的机器人:

python manage.py <your_command_name>

【讨论】:

  • 我不知道的很酷的功能
猜你喜欢
  • 2012-06-30
  • 2019-01-19
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-21
  • 2021-05-25
  • 2021-04-01
  • 2016-04-23
相关资源
最近更新 更多