在repl.it上保持不一致机器人在线
问题描述
如何将repl.it
用于我的Python Discorde Bot,并使其全天候运行。
我过去使用keep_alive
,但由于某种原因停止工作。
有人有什么建议吗?
我在控制台中不断收到此错误:
172.18.0.1--[16/Feb/2019 11:25:10]"GET/HTTP/1.1"200-
解决方案
要保持回复全天候在线,您必须做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!
相关文章