【问题标题】:Keep Discord Bot online on repl.it在 repl.it 上保持 Discord Bot 在线
【发布时间】:2019-07-10 09:07:27
【问题描述】:

如何将repl.it 用于我的 Python Discord Bot,并使其 24/7 全天候运行。 我曾经使用keep_alive,但由于某种原因它停止工作。

有人有什么建议吗?

我在控制台中不断收到此错误:

172.18.0.1 - - [16/Feb/2019 11:25:10] "GET / HTTP/1.1" 200 -

【问题讨论】:

  • 这不是错误信息,on the contrary,表示成功
  • repl.it 真的允许你运行一个无限运行时间的程序吗?它们并不是真正的托管服务。

标签: python discord keep-alive


【解决方案1】:

要让您的 repl.it 机器人 24/7 在线,您必须做 3 件事:

  1. 保持机器人活着
  2. 添加后台任务
  3. 将您的 repl.it 机器人与 uptime 机器人链接

1.为了让我们的机器人保持活力,我们必须在 py 文件的头部添加以下代码:

from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def main():
  return "Your Bot Is Ready"

def run():
  app.run(host="0.0.0.0", port=8000)

def keep_alive():
  server = Thread(target=run)
  server.start()

2。添加后台任务:

status = cycle(['with Python','JetHub'])

@bot.event
async def on_ready():
  change_status.start()
  print("Your bot is ready")

@tasks.loop(seconds=10)
async def change_status():
  await bot.change_presence(activity=discord.Game(next(status)))

3.设置Uptime Robot

  • 在 uptime 机器人上创建一个帐户。
  • 创建帐户后,转到仪表板并单击添加新监视器
  • 选择监视器类型 Http(s)
  • 然后转到你在 repl.it 上的项目并从控制台顶部复制 url 并将其粘贴到监视器的 url 部分
  • 现在将监控间隔设置为每 5 分钟一次(以便它每 5 分钟 ping 一次机器人)并单击两次创建监控器
  • 就是这样……现在转到您在 repl.it 上的项目并点击“运行”按钮

如果你在 discord.js 中制作了你的不和谐机器人,我写了一篇关于它的中型文章:Host a Discord Bot 24/7 Online for FREE!

【讨论】:

  • 函数keep_alive和run没有被调用,你需要怎么做才能使服务器在线
  • 如果像我这样的人不知道,可以使用以下命令导入任务:from discord.ext import tasks 我还必须将“bot”替换为“client”,因为它似乎有这个名字在我受互联网启发的代码中。
猜你喜欢
  • 2021-11-10
  • 2023-01-13
  • 1970-01-01
  • 2020-10-18
  • 2020-12-21
  • 2022-08-23
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
相关资源
最近更新 更多