我想做个不和谐的机器人。在我想使用JSON和Python从一个网站收集一些信息之前,一切正常。在
数据会被收集,但是每次我在Discord中输入命令以获取信息时,它都会显示它所使用的相同数据,就像只获取一次一样——当我将bot连接到我的服务器时。这正是它所做的。在
如何使它在每次有人输入命令时再次收集数据?在
我有命令!状态,每当我输入时,我的bot会使用JSON从网站获取游戏服务器的状态。假设服务器在线,所以它显示“Status:online”,但是如果服务器关闭,我输入!状态再说一遍,它仍然显示状态是在线的。我必须将机器人重新连接到Discord服务器,这样它就可以接收状态。在
我知道我的python脚本只运行一次。在
下面是一个片段:
r = requests.get('http://etcthewebsite')
json_data = json.loads(r.text)
status_server = json_data['status']
def on_message(message):
if message.content == "!status":
yield from client.send_message(message.chanel, "Status is: " + status_server)
希望你们明白我的意思。我重复一遍:代码运行得很好,但它不会每次我键入命令时都选择信息;只有一次-当BOT进入服务器时。在
每次向用户提供外部数据时,都应该从服务器获取外部数据。根据您希望它更改的频率,您可以尝试保留它的副本,并跟踪您访问它的时间,但这可能是不必要的。在
编辑:
另外,您可以使用
^{pr2}$discord.ext.commands
来简化编写bot命令。在相关问题 更多 >
编程相关推荐