【问题标题】:Python discord bot hosted on repl.it not working properly托管在 repl.it 上的 Python discord bot 无法正常工作
【发布时间】:2021-03-23 02:14:03
【问题描述】:

所以,我正在 repl.it 上开发一个机器人,但我不明白为什么我的代码不起作用...

我有一个每 24 小时调用一次的循环异步函数:

@tasks.loop(hours=24)
async def send_plot():
  await bot.wait_until_ready()
  if str(datetime.now(tz).strftime('%Y-%m-%d')) not in db['Date']:
    append_db('Date', str(datetime.now(tz).strftime('%Y-%m-%d')))
---------------------------------------------------------------------------- # starting here
    print('...')
    for key in db.keys():
      append_db(key, db[key][len(db[key]) - 1])
---------------------------------------------------------------------------- # ending here
  plotting()
  message_channel = bot.get_channel(int(channel_id))
  await message_channel.send(file=discord.File('plot.png'))

因此,由于未知原因,这两行之间没有任何工作。我试图自己弄清楚,但我厌倦了它,因为没有任何东西可以正常工作。这里发生了某种神奇的事情......

这里是 append_db 函数:

def append_db(key, value):
    clone = db[key]
    clone.append(value)
    db[key] = clone

不知道为什么,但这是让我将信息保存到 repl.it 数据库的唯一方法。

【问题讨论】:

  • 我不确定 Repl.it 是否真的应该用于像这样的长时间运行/计划的任务。如果这按您的预期工作,我会感到非常惊讶。
  • @esqew 不知道它是否适用于 OP 的代码,但我在 repl 上运行了几次-它在 C++ 中运行时间很长,并且所有时间任务都被 repl-终止它正好在30 minutes 运行之后。所以看起来 repl-it 可以运行任何任务半小时,至少在 C++ 中是这样。
  • @esqew 我创建了一个由 uptimerobot.com ping 的烧瓶应用程序。它使我的机器人在 repl.it 上保持活力。

标签: python asynchronous discord repl.it


【解决方案1】:

我还尝试在 repl.it 上创建一个 Discord 机器人,一个基本的机器人可以在 Repl.it 上运行,但是当你变得更高级(如音乐机器人)时,repl.it 在运行代码时会出现一些问题。我建议在我的打开终端/命令提示符下本地运行它,然后输入python "file location",或者如果您安装了python 3,您可以尝试python3 "file location",您可以将文件位置替换为计算机上文件的位置。

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 2020-05-13
    • 1970-01-01
    • 2021-11-26
    • 2019-07-10
    • 2020-08-24
    • 2019-07-22
    • 2017-04-30
    • 2019-06-06
    相关资源
    最近更新 更多