Telegram bot (pyTelegramBotAPI) 不处理新用户加入组

Möb*_*ius 3 python telegram telegram-bot py-telegram-bot-api

我最近使用 pyTelegramBotAPI (telebot) 创建了一个简单的电报机器人。我添加了一个消息处理程序,该处理程序应该处理每条消息,包括新用户加入时出现在组上的消息,它们仍然Message是非空属性的对象new_chat_members

import telebot
bot = telebot.TeleBot(TOKEN)

[...]

@bot.message_handler(func=lambda m: True)
def foo(message):
    bot.send_message(message.chat.id,"I got the message")



bot.polling()

Run Code Online (Sandbox Code Playgroud)

即便如此,当我添加新用户时,机器人不会回复“我收到消息”字符串,尽管它确实捕获了其他消息。

为什么会发生这种情况?这是消息处理程序的问题吗?是否有一个更通用的处理程序可以确保捕获每个更新?

谢谢

Tib*_*. M 5

您应该将“ new_chat_members”指定为content-types

以下是欢迎新用户的示例工作片段:

import telebot
bot = telebot.TeleBot(TOKEN)

@bot.message_handler(content_types=[
    "new_chat_members"
])
def foo(message):
    bot.reply_to(message, "welcome")

bot.polling()
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。我仍然想知道为什么如果您指定该过滤器它会处理这些消息,但当您要求他处理所有内容时它不会。 (2认同)