在repl.it上保持不一致机器人在线

2022-02-22 00:00:00 python discord keep-alive

问题描述

如何将repl.it用于我的Python Discorde Bot,并使其全天候运行。 我过去使用keep_alive,但由于某种原因停止工作。

有人有什么建议吗?

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

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


解决方案

要保持回复全天候在线,您必须做3件事:

  1. 使机器人保持活动状态
  2. 添加后台任务
  3. 将您的回复.it机器人与正常运行时间机器人链接

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:

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

如果您在discord.js中创建了您的不和谐机器人,我曾为此写过一篇中等大小的文章:Host a Discord Bot 24/7 Online for FREE!

相关文章