Задать вопрос
@anton224

Как мне исправить тг бота, который должен будет принимать сообщения?

import logging
import os
import re

from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
from aiogram.types import ParseMode

# устанавливаем уровень логирования
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)

# указываем API токен
TOKEN = 'token'

# создаем объект бота и диспетчера
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

# функция для поиска названий игр в сообщениях
async def search_game(message: types.Message):
chat_id = message.chat.id
game_name = message.text.lower()

# получаем историю сообщений в указанном канале
messages = await bot.get_message_history(chat_id=chat_id)

# ищем сообщения, которые содержат заданное название игры
for message in messages:
if message.text is not None and game_name in message.text.lower():
# отправляем пользователю ссылку на найденное сообщение
await bot.send_message(chat_id=chat_id, text=message.link)

# обработчик функций команды start
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
await message.answer('Привет! Я могу помочь вам найти игру. Введите название игры, чтобы начать.')

# обработчик всех сообщений, не являющихся командой "старт"
@dp.message_handler(lambda message: message.text not in ['/start'])
async def echo(message: types.Message):
await search_game(message)

if __name__ == '__main__':
# запускаем бота в бесконечном цикле
executor.start_polling(dp, skip_updates=True)
  • Вопрос задан
  • 90 просмотров
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest
Работаю с Python/Django
как мне его исправить?

Ну смотрите, код вы не оформили, хотя этого требуют правила, текст или описание ошибки не привели, поэтому алгоритм следующий:
  • Выучить Python (в т.ч. как работает асинхронность).
  • Изучить документацию к aiogram
  • Отловить ошибки и с помощью знаний, полученных в п.1-2 и отладки и исправить их.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы