#python #telegram #python-telegram-bot
#python #telegram #python-telegram-bot
Вопрос:
Я пишу Telegram-бота, используя библиотеку python-telegram-bot.
Бот должен отправить сообщение пользователю при публикации нового канала YouTube. Я создал telegram_bot.py в котором я создал класс TelegramBot. В этом классе у меня есть эта функция:
telegram_bot.py
def __init__(self):
self.updater = Updater(token=telegram_token, use_context=True)
self.dispatcher = self.updater.dispatcher
self.updater.start_polling()
def send_message(self, text_message, context: CallbackContext):
context.bot.send_message(
chat_id="@<<my username>>", text=text_message)
И в main.py У меня есть строка кода, которая должна отправить сообщение usign вышеупомянутой функции, например:
main.py
from telegram_bot import TelegramBot
tg_bot = TelegramBot()
tg_bot.send_message("New video!")
Но, когда я запускаю приведенный выше код, я получаю эту ошибку:
Ошибка типа: в send_message() отсутствует 1 требуемый позиционный аргумент: ‘context’
Но в определении send_message я уже определил контекст
Ответ №1:
Решается таким образом:
main.py
tg_bot = TelegramBot()
tg_bot.send_message("New video!", context=tg_bot.dispatcher)