Top.Mail.Ru
Ответы

Ошибка при создании бота для телеграм, как ее решить ?⁠⁠

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
 import requests 
from bs4 import BeautifulSoup 
import logging 
from telegram import Update 
from telegram.ext import Updater, CommandHandler, CallbackContext 
 
# Настройка логирования 
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) 
  
def fetch_baccarat_statistics(): 
    url = "Тут была ссылка" 
    try: 
        response = requests.get(url) 
        response.raise_for_status() 
    except requests.RequestException as e: 
        logging.error(f"Не удалось: {e}") 
        return [] 
 
    soup = BeautifulSoup(response.text, 'html.parser') 
    return [ 
        (game.find('span', class_='suit').text, game.find('span', class_='result').text) 
        for game in soup.find_all('div', class_='game-statistics') 
        if (suit := game.find('span', class_='suit')) and (result := game.find('span', class_='result')) 
    ] 
 
 
def predict_suit(statistics): 
    suit_count = {} 
    for suit, _ in statistics: 
        suit_count[suit] = suit_count.get(suit, 0) + 1 
    return max(suit_count, key=suit_count.get, default=None) 

def predict_upcoming_games(statistics, count=5): 
    predictions = [] 
    for _ in range(count): 
        predicted_suit = predict_suit(statistics) 
        if predicted_suit: 
            predictions.append(predicted_suit) 
            statistics = [(suit, result) for suit, result in statistics if suit != predicted_suit] 
        else: 
            predictions.append("Неизвестно") 
            break 
    return predictions 
 
# Команда /start 
def start(update: Update, context: CallbackContext): 
    update.message.reply_text("Бот запущен!") 
 
# Команда /stats 
def stats(update: Update, context: CallbackContext): 
    statistics = fetch_baccarat_statistics() 
    if statistics: 
        most_common_suit = predict_suit(statistics) 
        update.message.reply_text(f"Наиболее: {most_common_suit or 'Не удалось определить.'}") 
    else: 
        update.message.reply_text("Не удалось.") 
 
# Команда /predict 
def predict(update: Update, context: CallbackContext): 
    statistics = fetch_baccarat_statistics() 
    if statistics: 
        predictions = predict_upcoming_games(statistics, count=5) 
        update.message.reply_text(f"ближайшие 5 : {', '.join(predictions)}") 
    else: 
        update.message.reply_text("Не удалось") 
 
def main(): 
   
    updater = Updater("Тут был токен", use_context=True) 
    dp = updater.dispatcher 
 
    # Обработчики команд 
    dp.add_handler(CommandHandler("start", start)) 
    dp.add_handler(CommandHandler("stats", stats)) 
    dp.add_handler(CommandHandler("predict", predict)) 
 
    # Запустить бота 
    updater.start_polling() 
    updater.idle() 
 
if __name__ == '__main__': 
    main() 

Код выше, а ниже ошибка

1234567
 Traceback (most recent call last): 
  File "Тут был путь к файлу", line 84, in <module> 
    main() 
    ~~~~^^ 
  File "Тут был путь к файлу", line 71, in main 
    updater = Updater("Тут был токен", use_context=True) 
TypeError: Updater.__init__() got an unexpected keyword argument 'use_context' 
По дате
По рейтингу
Аватар пользователя
Мудрец
6мес

Установить библиотеку той версии, для которой написан код. Скорее всего, нужно понизить до 13 версии