python - 在 repl.it 上保持 Discord Bot 在线
问题描述
我如何使用repl.it
我的 Python Discord Bot,并让它 24/7 全天候运行。我曾经使用过,keep_alive
但由于某种原因它停止工作。
有没有人有什么建议?
我在控制台中不断收到此错误:
172.18.0.1 - - [16/Feb/2019 11:25:10] “GET / HTTP/1.1” 200 -
解决方案
要让您的 repl.it 机器人 24/7 在线,您必须做 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 机器人:
- 在正常运行时间机器人上创建一个帐户。
- 创建帐户后,转到仪表板并单击添加新监视器
- 选择监视器类型 Http(s)
- 然后转到 repl.it 上的你的项目并从控制台顶部复制 url 并将其粘贴到监视器的 url 部分
- 现在将监控间隔设置为每 5 分钟一次(以便它每 5 分钟 ping 一次机器人)并单击两次创建监视器
- 就是这样......现在去你的 repl.it 上的项目并点击运行按钮
如果您在 discord.js 中制作了您的不和谐机器人,我写了一篇关于此的中型文章:免费在线托管不和谐机器人 24/7!
推荐阅读
- authentication - 登录使用任何密码对用户进行身份验证
- python-3.x - 如何使单选按钮连接到文本文件中的一行并使其显示在框架上
- javascript - React 组件:需要格式化来自 API 响应的地址并将其传递给具有复制到剪贴板功能的组件
- python - cursor.fetchone() 尝试插入后返回 None?
- python - 在读/写时保留文本格式以塑造文本python pptx
- search - Solr:如果组中的一个与查询匹配,如何检索该组的所有文档?
- javascript - Three.js 旋转立方体以在前视图中显示选定的一侧?
- animation - 为什么我收到这个错误,当角色完全加载时?
- vue.js - 当链接在我的过滤数组中时,如何在 vuetify 中加载图像?
- material-ui - 如何将 Material UI 集成到 Svelte 项目中