python - discord.py 会持续这样做吗?
问题描述
我正在尝试编写一个不和谐的机器人,并且在学习模块时我被困在这里;
我的意思是,在下面的代码中,每当在机器人有权访问的通道中发送消息时,就会不和谐地调用 on_message 函数,并且会在应用程序关闭之前不停地调用 on_reminder 函数吗?
这是我的代码;
@client.event
async def on_message(message):
command_list={"!odev":command_odev,"!teslim":command_teslim,"!kontrol":command_kontrol}
try:
excep_src = "Geçersiz Komut!"
msg2 = " "
msg1 = " "
if message.content.splitlines()[0].strip() not in command_list:
raise Exception()
msg1 = "Geçersiz girdi, lütfen komutu şu düzende belirtin:"
excep_src=" "
msg2=command_list[message.content.splitlines()[0].strip()]
await message.channel.send(msg1)
except:
excep_src,msg1,msg2=excep_src,msg1,msg2
await message.channel.send(f"""
{excep_src if 2 == len(excep_src.split()) else msg1}
{msg2}
""")
## !odev yeni ödev verme
## !teslim ödev teslim etme
## !kontrol ödevi teslim edip etmediğini kontrol etme
@client.event
async def on_reminder():
sleep(3600)
kontrol()
解决方案
您可以查看文档:
discord.on_message(message)
:“在创建和发送消息时调用”,因此只要在机器人有权访问的通道中发送消息,就会触发此事件。- 至于
on_reminder
,它不是现有事件,因此不会被触发。如果您希望它每小时运行一次,则可能需要task
扩展。
推荐阅读
- iis - IIS 无法下载未完成的 zip 文件
- javascript - 使用 Promises.reduce 进行 Sequential API 调用
- devexpress - DevExpress 仪表板中显示的限制表 - 查询生成器
- oracle - Oracle / Plsql 我是否需要检查文件是否已保存?
- excel - 从包含特定多个单词的字符串中提取单词
- c# - 整合 ASP.NET 成员资格、ASP.NET 身份、ASP.NET 身份核心
- python - 在 python 脚本中使用 winrm 将“密码”或任何其他作为用户输入来运行操作系统级别的命令
- android - CSS固定位置导致软键盘出现在android中的文本框上
- php - 错误未捕获错误== 在 /*Source*/ 中的字符串上调用成员函数 fetch_assoc()
- java - 如何在`.reduce(...)`函数中使用`Mono.subscriberContext()`