gpt4 book ai didi

python - 使用 lambda 的 Telegram 机器人 message_handler

转载 作者:行者123 更新时间:2023-12-01 08:36:41 24 4
gpt4 key购买 nike

我正在尝试使用 @bot.message_handler 和 lambda 来捕获与我的机器人一起发送的消息中的一些单词。我看到很多例子,每个人都使用类似这样的代码:

import telebot

telebot.logger.setLevel(__import__('logging').DEBUG)

bot_token = 'Blablabla'

bot = telebot.TeleBot(bot_token)

# filter on a specific message
@bot.message_handler(func=lambda message: message.text == "hi")
def command_text_hi(m):
bot.send_message(m.chat.id, "I love you too!")

@bot.message_handler(commands=['start'])
def send_welcome(m):
bot.send_message(m.chat.id, 'Welcome!')

@bot.message_handler(func=lambda message: True, content_types=['text'])
def command_default(m):
# this is the standard reply to a normal message
bot.send_message(m.chat.id, "I don't understand, try with /help")

bot.polling()

它运行了,但是如果我在群组中(里面有 BOT)发送“嗨”,BOT 不会说“我也爱你!”我不明白为什么。但如果我说/start,BOT 会说“欢迎!!”

我尝试使用 @bot.message_handler(func=lambda message: True) 正如我在 https://github.com/eternnoir/pyTelegramBotAPI#a-simple-echo-bot 中看到的那样但同样不起作用。

如何使用 message_handler 并捕获消息中的一些单词?

最佳答案

默认privacy mode已为 Telegram 机器人启用。

A bot running in privacy mode will not receive all messages that people send to the group. Instead, it will only receive:

Messages that start with a slash ‘/’ (see Commands above)

Replies to the bot's own messages

Service messages (people added or removed from the group, etc.)

Messages from channels where it's a member

您可以通过 BotFather 禁用机器人的隐私模式。

关于python - 使用 lambda 的 Telegram 机器人 message_handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53684791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com