2

我正在做一个机器人版主。我正在执行命令“禁止”。如果我通过键入 bot 回复某人的消息,/ban应该获取它的 id 并限制他。我现在的代码:

@bot.messsage_handler(commands=['ban'])

def ban(message):

    #here I should get the id of a user which I replied in Telegram
    #then bot should restrict him.

PyTelegramBotApi

蟒蛇3.7

谢谢你

4

2 回答 2

2

Message课堂上,您有一个reply_to_message返回对象的Message对象,您可以从该对象中找到用户 ID。如果用户不回复任何消息,则等于None. 所以这就是你想要的:message.reply_to_message.from_user

如果您想了解更多信息,您可以从Telegram bot API中阅读或查看库 github 中的types.py

于 2020-08-24T09:11:37.190 回答
0

您可以限制用户至少30 秒。限制代码:

bot.restrict_chat_member(message.chat.id, 
                         message.from_user.id, 
                         can_send_messages=False, 
                         until_date=int(time.time())+30)
#you can replace 30(seconds) by more.

时间

于 2020-08-24T09:07:32.153 回答