问题
I want to write a telegram bot via Python, but it doesn't work.
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)
Returns to me the following problem.
AttributeError: 'TeleBot' object has no attribute 'message_handler'
回答1:
This is a common issue, unfortunately. I guess you installed the lib as "pip install telebot", which leads to another package. You need to uninstall telebot, install pytelegrambotapi
, but leave "import telebot" in code.
回答2:
As the source code shows (assuming you import the module obtained from pip, that is this), there is no definition for message_handler
. In which case you need to use @bot.route
which takes a string as argument as shown in the example within the repository readme (second link or here).
Example:
@bot.route('/command ?(.*)')
def sending(message, cmd):
bot.send_message(something, something_else)
来源:https://stackoverflow.com/questions/59909321/im-writing-a-telegram-bot-with-python