我正在用python写一个电报机器人

时间:2020-01-25 12:41:56

标签: python telegram telegram-bot

我想通过Python编写电报bot,但这不起作用。

import telebot

bot = telebot.TeleBot("my_token")

@bot.message_handler(content_types=['text'])
def sending(message):
    bot.send_message(message.chat.id, message.text)


# RUN

bot.polling(non_stop=True)


回到我下面的问题。

AttributeError:“ TeleBot”对象没有属性“ message_handler”

3 个答案:

答案 0 :(得分:1)

不幸的是,这是一个常见问题。我猜您将lib安装为“ pip install telebot”,这导致了另一个软件包。您需要卸载Telebot,安装pytelegrambotapi,但在代码中保留“ import telebot”。

答案 1 :(得分:0)

source code所示(假设您导入从pip获得的模块,即this),则message_handler没有定义。在这种情况下,您需要使用@bot.route,它将一个字符串作为参数,如存储库自述文件(第二个链接或here)中的示例所示。

示例:

@bot.route('/command ?(.*)')
def sending(message, cmd):
    bot.send_message(something, something_else)

答案 2 :(得分:0)

试试这个。首先写:

pip3 uninstall telebot

写完之后:

pip3 uninstall PyTelegramBotAPI

最后一步:

pip3 install PyTelegramBotAPI==2.2.3

它对我有用,我在 debian 9 上工作。所以如果你在 Debian 或 linux 上工作,它应该适合你。