我想通过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”
答案 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 上工作,它应该适合你。