Пишу первый бот на TG
Ошибка при запуске
\Python\bot.py", line 64, in <module>
main()
File "c:\Users\bolshukhin_roman\Script\Python\bot.py", line 55, in main
updater = Updater(TOKEN, use_context=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Updater.__init__() got an unexpected keyword argument 'use_context'
Код
import telegram
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
TOKEN = 'YOUR_TOKEN_HERE'
OWNER_ID = YOUR_OWNER_ID_HERE
def start(update, context):
keyboard = [
[
InlineKeyboardButton("Кнопка 1", callback_data='1'),
InlineKeyboardButton("Кнопка 2", callback_data='2'),
],
[
InlineKeyboardButton("Кнопка 3", callback_data='3'),
InlineKeyboardButton("Кнопка 4", callback_data='4'),
],
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Выберите кнопку:', reply_markup=reply_markup)
def button(update, context):
query = update.callback_query
if query.message.chat_id == OWNER_ID:
if query.data == '1':
keyboard = [
[
InlineKeyboardButton("Подкнопка 1.1", callback_data='1.1'),
InlineKeyboardButton("Подкнопка 1.2", callback_data='1.2'),
]
]
reply_markup = InlineKeyboardMarkup(keyboard)
message = query.message.reply_text('Выберите подкнопку:', reply_markup=reply_markup)
elif query.data == '1.1':
message = query.message.reply_text('Команда 1.1 выполнена')
elif query.data == '1.2':
message = query.message.reply_text('Команда 1.2 выполнена')
elif query.data == '2':
message = query.message.reply_text('Команда 2 выполнена')
elif query.data == '3':
message = query.message.reply_text('Команда 3 выполнена')
elif query.data == '4':
message = query.message.reply_text('Команда 4 выполнена')
query.message.edit_reply_markup(reply_markup=None)
else:
message = query.message.reply_text('Вы не являетесь владельцем бота!')
def main():
updater = Updater(TOKEN, use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CallbackQueryHandler(button))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()