2024-05-16 06:40:37 发布
网友
我想为我的discord bot创建一个状态页面,让其他用户查看我的bot当前是否正在运行或是否处于脱机状态。我用UpTimeRobot来表示。但是我看到检查我的bot是否正在运行的唯一选项是HTTP(s)、Keyword、Ping和Port。所以我现在的问题是,如果我的机器人通过以下四种方法之一在线,uptimerobot如何检查?哪种方法最简单?我需要做什么才能让它发挥作用
HTTP(s)
Keyword
Ping
Port
我尝试了很多不同的搜索方法,但都找不到解决方案
这取决于您如何托管Discord机器人
最简单的方法可能是让web服务器在某处运行,让您的机器人每隔X分钟发送一个请求,让它知道它仍然处于活动状态
在四个选项中:HTTP、关键字、Ping和端口-HTTP可能是最简单的,但您甚至可能不需要UpTimeRobot(取决于您希望状态页面的外观)。但这需要您在同一系统上运行Web服务器和Discord Bot。有关更多详细信息,请参见此answer
您可以将replit用于bot。上载文件,将bot的主程序重命名为main.py,然后将其添加到新的空白文件(将文件命名为keep_alive):
main.py
keep_alive
from flask import Flask from threading import Thread app = Flask("") @app.route("/") def home(): return "Hello. I am really alive!" def run(): app.run(host="0.0.0.0",port=8080) def keep_alive(): t = Thread(target=run) t.start()
添加行
import keep_alive keep_alive.keep_alive()
就在client.run()调用之前。 点击顶部的run按钮。你会看到屏幕右上角有一个面板打开,上面写着“你好,我还活着!”。复制上面地址栏中的地址。然后将UptimeRobot监视器设置为指向该网站
注意:此方法是完全免费的。您不需要付费版本的replit帐户。虽然它说在您关闭浏览器选项卡后机器人将停止,但实际上它在网络不活动1小时后关闭。只要UptimeRobot的ping间隔小于1小时,您就可以了。
这取决于您如何托管Discord机器人
最简单的方法可能是让web服务器在某处运行,让您的机器人每隔X分钟发送一个请求,让它知道它仍然处于活动状态
在四个选项中:HTTP、关键字、Ping和端口-HTTP可能是最简单的,但您甚至可能不需要UpTimeRobot(取决于您希望状态页面的外观)。但这需要您在同一系统上运行Web服务器和Discord Bot。有关更多详细信息,请参见此answer
您可以将replit用于bot。上载文件,将bot的主程序重命名为
main.py
,然后将其添加到新的空白文件(将文件命名为keep_alive
):添加行
就在client.run()调用之前。
点击顶部的run按钮。你会看到屏幕右上角有一个面板打开,上面写着“你好,我还活着!”。复制上面地址栏中的地址。然后将UptimeRobot监视器设置为指向该网站
注意:此方法是完全免费的。您不需要付费版本的replit帐户。虽然它说在您关闭浏览器选项卡后机器人将停止,但实际上它在网络不活动1小时后关闭。只要UptimeRobot的ping间隔小于1小时,您就可以了。
相关问题 更多 >
编程相关推荐