Не работает тг бот, ошибка "TypeError: Updater.__init__() got an unexpected keyword argument 'use_context'"

Привожу вам код:

from telegram.ext import Updater
import json
import hashlib
import time

logging.basicConfig(level=logging.INFO)

TOKEN = 'Тут мой токен'  # replace with your bot token

wallet_manager = {}
blockchain = []

def start(update, context):
    context.bot.send_message(chat_id=update.effective_chat.id, text='Welcome to Notcoin!')

def create_wallet(update, context):
    wallet_id = hashlib.sha256(str(time.time()).encode()).hexdigest()[:10]
    wallet_manager[wallet_id] = {'balance': 0, 'transactions': []}
    context.bot.send_message(chat_id=update.effective_chat.id, text=f'Your wallet ID is {wallet_id}')

def send_coins(update, context):
    try:
        wallet_id = update.message.text.split()[1]
        amount = int(update.message.text.split()[2])
        if wallet_id in wallet_manager:
            if wallet_manager[wallet_id]['balance'] >= amount:
                wallet_manager[wallet_id]['balance'] -= amount
                blockchain.append({'from': update.effective_chat.id, 'to': wallet_id, 'amount': amount})
                context.bot.send_message(chat_id=update.effective_chat.id, text=f'Sent {amount} coins to {wallet_id}')
            else:
                context.bot.send_message(chat_id=update.effective_chat.id, text='Insufficient balance')
        else:
            context.bot.send_message(chat_id=update.effective_chat.id, text='Invalid wallet ID')
    except Exception as e:
        context.bot.send_message(chat_id=update.effective_chat.id, text=str(e))

def get_balance(update, context):
    wallet_id = update.message.text.split()[1]
    if wallet_id in wallet_manager:
        context.bot.send_message(chat_id=update.effective_chat.id, text=f'Your balance is {wallet_manager[wallet_id]["balance"]}')
    else:
        context.bot.send_message(chat_id=update.effective_chat.id, text='Invalid wallet ID')

def get_transactions(update, context):
    wallet_id = update.message.text.split()[1]
    if wallet_id in wallet_manager:
        context.bot.send_message(chat_id=update.effective_chat.id, text='\n'.join([f'{tx["from"]} -> {wallet_id}: {tx["amount"]}' for tx in wallet_manager[wallet_id]['transactions']]))
    else:
        context.bot.send_message(chat_id=update.effective_chat.id, text='Invalid wallet ID')

def main():
    updater = Updater(TOKEN, use_context=True)

    dp = updater.dispatcher

    dp.add_handler(CommandHandler('start', start))
    dp.add_handler(CommandHandler('create', create_wallet))
    dp.add_handler(CommandHandler('send', send_coins))
    dp.add_handler(CommandHandler('balance', get_balance))
    dp.add_handler(CommandHandler('transactions', get_transactions))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

На выводе получаю:

  File "e:\Python\fbs\main.py", line 67, in <module>
    main()
  File "e:\Python\fbs\main.py", line 53, in main
    updater = Updater(TOKEN, use_context=True)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Updater.__init__() got an unexpected keyword argument 'use_context'

Что делал:

pip install --upgrade python-telegram-bot
updater = Updater(TOKEN) - менял, ошибка ->

 File "e:\Python\main.py", line 67, in <module>
    main()
  File "e:\Python\main.py", line 53, in main
    updater = Updater(TOKEN)
              ^^^^^^^^^^^^^^
TypeError: Updater.__init__() missing 1 required positional argument: 'update_queue'

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

Автор решения: Revolucion for Monica

Какова ваша версия python-telegram-bot?

Понизьте или обновите python-telegram-bot до соответствующей версии. Oyekunle Oyegunle понизил свою версию, используя pip install python-telegram-bot==13.7 с последней версии python-telegram-bot 20.0, и это сработало для него. Его версия может отличаться от вашей, поэтому используйте правильную версию, которая не будет вызывать ошибку

→ Ссылка