Ошибка TypeError (Python, pyTelegrammBotAPI)

Пишу Telegramm бота на python. Использую 3 модуля. pyTelegrammBotAPI, wikipedia и pyshorteners. Все делают ботов с помощью функций, я же решил попробовать классом. Я раньше писал такого же бота на функциях. Он работает, всё ок. Но вот мой второй бот (про него вопрос) при запуске выдает ошибку "TypeError".


Ошибка: TypeError: recieve_text() missing 1 required positional argument: 'message'


Я как бы понимаю что он говорит о отсутствии аргумента "self", но он передан.


Я проверял синтаксис при помощи "PyLint", исправил все критические ошибки.


Код:

# Import "wikipedia" for make requests to Wikipedia and get Wikipedia's pages
# Import "pyshorteners" for creating short links on Wikipedia's pages
import wikipedia, pyshorteners

# Set wikipedia language "ru"
wikipedia.set_lang("ru")

class my_bot():
    import telebot # Import "telebot" for connecting to telegramm API and programming bot

    bot = telebot.TeleBot("[Тут я указал API токен]") # API token

    def __init__(self):
        pass

    @bot.message_handler(commands=['start']) # If receive command "start":
    def command_start(self, message):
        self.bot.send_message(message.chat.id, "Приветствую, я Wiki bot!")
        self.bot.send_message(message.chat.id, "--")
        self.bot.send_message(message.chat.id, "Пришлите мне любое предложение или слово и я найду информацию про него.")
        self.bot.send_message(message.chat.id, "Источник всей информации — Wikipedia")

    @bot.message_handler(content_types=['text']) # If receive message with text:
    def recieve_text(self, message):
        try: # I use "try", because if some error happened, bot will not stop working. And he send a message to user
            self.some_error = False

            try: # I use "try", because i don't know is that page exist on Wikipedia
                self.wiki_page = wikipedia.page(str(message.text))

            except:
                self.bot.send_message(message.chat.id, 'Извините. По вашему запросу ничего не найдено.')

                self.some_error = True # I use "self.some_error" for indicating about error

            if self.some_error == False: # Сhecks for errors
                self.short_link = pyshorteners.Shortener()
                self.link = 'Полностью: ' + str(self.short_link.tinyurl.short(self.wiki_page.url))

                self.bot.send_message(message.chat.id, self.wiki_page.title)
                self.bot.send_message(message.chat.id, wikipedia.summary(str(message.text)))
                self.bot.send_message(message.chat.id, self.link)

                self.wiki_page = ''
                self.link = ''
                self.short_link = ''

            else: # If "self.some_error" is "True", it does not execute past code, but returns "self.some_error" value "False"
                self.some_error = False

        except: # If an error occurred in the bot:
            self.bot.send_message(message.chat.id, 'Извините. Произошла ошибка.')

    def bot_polling(self):
        self.bot.polling(none_stop=True)

telegramm_bot = my_bot()
telegramm_bot.bot_polling()

Ответы (0 шт):