Pyrogram中Telegram高级用户添加3个独立消息反应的问题求助
Pyrogram中Telegram高级用户添加3个独立消息反应的问题求助
我开通了Telegram Premium,但没法添加3个独立的消息反应——每次尝试添加时,新的反应都会替换掉之前的,没办法同时存在多个反应。我用的代码如下:
from pyrogram import Client z = 5 app = Client("my_account") @app.on_message() def handle_message(client, message): client.send_reaction(message.chat.id, message.message_id, "👍") time.sleep(z) client.send_reaction(message.chat.id, message.message_id, "❤️") time.sleep(z) client.send_reaction(message.chat.id, message.message_id, "😂") app.run()
嘿,我完全懂你的困扰!问题其实出在send_reaction方法的默认设置上——它默认是替换已有的反应,而不是新增一个。不过放心,Telegram Premium支持多反应,Pyrogram早就考虑到这点了,只要改个参数就能解决。
先提下你代码里的两个小bug,不然运行会报错:
- 没导入
time模块,time.sleep()肯定没法用; - 函数里的代码缩进乱了,Python对缩进要求很严,得修正。
下面是调整后的可用代码:
import time from pyrogram import Client z = 5 app = Client("my_account") @app.on_message() def handle_message(client, message): # 添加第一个反应,replace=False表示不替换现有反应 client.send_reaction(message.chat.id, message.message_id, "👍", replace=False) time.sleep(z) # 添加第二个反应 client.send_reaction(message.chat.id, message.message_id, "❤️", replace=False) time.sleep(z) # 添加第三个反应 client.send_reaction(message.chat.id, message.message_id, "😂", replace=False) app.run()
核心改动就是给每次send_reaction调用加上replace=False参数,这样每次调用都是新增一个反应,而不是覆盖之前的。同时修正了缩进和模块导入,现在运行代码后,三个反应会依次添加到目标消息上,不会再互相替换啦~
备注:内容来源于stack exchange,提问作者1uknow
相关产品推荐
相关产品推荐

