/
lububu
/
Study_Practice
Обзор
Документация
Войти
/
lububu
/
Study_Practice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main.py
75 строк
2 KB
Shilova Liubov
Реализован проект 2.2 с нуля
16 май 2026, 19:45
16 май 2026, 19:45
c1682cc
Код
Авторство
О чём код?
import re import asyncio import logging from aiogram import Bot, Dispatcher from aiogram.filters import Command from aiogram.types import Message # TextFormatterCore class TextFormatterCore: def clean_spaces(self, text: str) -> str: return re.sub(r'\s+', ' ', text).strip() if text else "" def remove_special_characters(self, text: str) -> str: # Оставляем буквы, цифры, пробелы и основную пунктуацию pattern = r'[^a-zA-Zа-яА-Я0-9\s.,!?()—–«»"\'-]' return re.sub(pattern, '', text) def format(self, raw_text: str) -> str: if not raw_text: return "" return self.clean_spaces(self.remove_special_characters(raw_text)) # НАСТРОЙКИ BOT_TOKEN = "8630810410:AAHIUn_0AqgJ6tQ12RriYFR96gmDYd2i-8E" bot = Bot(token=BOT_TOKEN) dp = Dispatcher() formatter = TextFormatterCore() logging.basicConfig(level=logging.INFO) @dp.message(Command("start", "help")) async def send_welcome(message: Message): user_name = message.from_user.first_name or "друг" await message.reply( f"Привет, {user_name}! 🐻\n\n" "Отправь мне любое сообщение, и я очищу его от лишних символов." ) @dp.message() async def handle_text(message: Message): if not message.text: return raw_text = message.text cleaned_text = formatter.format(raw_text) if not cleaned_text: await message.reply("⚠️ Сообщение содержало только спецсимволы.") return reply_text = ( f"<b>🐻 Анализ выполнен!</b>\n\n" f"<b>📥 Ты ввёл:</b> <code>{raw_text}</code>\n\n" f"<b>🧹 Очищенный:</b> {cleaned_text}" ) await message.reply(reply_text, parse_mode="HTML") # ЗАПУСК async def main(): print("🚀 TextFormatterCore Bot запущен") await bot.delete_webhook(drop_pending_updates=True) await dp.start_polling(bot, allowed_updates=["message"]) if __name__ == "__main__": asyncio.run(main())