Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Денис Денисов Ученик (97), на голосовании 3 месяца назад
 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()
Код выше, а ниже ошибка
 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'
Голосование за лучший ответ
CausonQ Мудрец (14172) 4 месяца назад
Установить библиотеку той версии, для которой написан код. Скорее всего, нужно понизить до 13 версии
Похожие вопросы