如何解决Telethon 事件的问题并单独使用它们
这是我的代码。 注意nots(numbers)
@bot.on(events.NewMessage(pattern="test")) # 1
async def wait(event):
chat = event.chat_id
txw = "some text"
await bot.send_message(chat,txw,buttons = [Button.inline("help",b"help")]) # 2
bot.on(events.NewMessage(chats = chat)) #3
async def get(event):
txt = event.raw_text #4
bot.remove_event_handler(get) # 6
if not len(txt) == 10:
await event.reply("false information") # 5
if len(txt) == 10:
await event.reply("created seccessfuly")
1 正在接收消息(测试),2 正在发送消息。但问题是3、4、5。 3 获取消息(测试),但我只想获取 1 条测试消息,3 条获取另一条消息,然后在使用 10 len 获取消息后删除处理程序。
解决方法
事件按顺序处理,因此在第一个事件完成运行后,它将运行您刚刚创建的第二个事件(get 事件)。您可以在 get(event) 中添加 if 检查以处理特殊情况。
@bot.on(events.NewMessage(pattern="test")) # 1
async def wait(event1):
chat = event1.chat_id
txw = "some text"
await bot.send_message(chat,txw,buttons = [Button.inline("help",b"help")]) # 2
bot.on(events.NewMessage(chats = chat)) #3
async def get(event2):
if event2.id == event1.id:
# this means that we are treating the message we got from event1.
return
txt = event2.raw_text #4
bot.remove_event_handler(get) # 6
if not len(txt) == 10:
await event.reply("false information") # 5
if len(txt) == 10:
await event.reply("created seccessfuly")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。