- 20.06.2022
- 23 848
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Для начала установим aiogram и создадим бота. Открываем консоль ( win+r ) и вводим:
2) Создаем папку и в ней 3 файла:
Отлично. Мы создали конфиг нашего будущего бота.
Теперь мы оформим файл запуска. Бот ведь должен как-то запускаться. Открываем файл main.py.
Для начала импортируем все что нам потребуется :
Отлично. Теперь создадим функцию для запуска.
Давайте теперь пропишем код для запуска нашей функции.
Мы добрались до финальной части разработки. Открываем файл user_handler.py и импортируем все что потребуется.
Создаем фильтр, чтобы отлавливать сообщения только из чатов.
Создаем роутер, именно он позволяет нам удобно разделять код хэндлеров в различных файлов и соединять в основном.
Теперь напишем сам обработчик на сообщения.
Вот мы и закончили разработку! Осталось запустить и потестить. Вводим в консоли:
Вводим сообщение в чате:
Бот присылает уведомление в наш чат:
Таким образом, вы можете менять тексты на свои и подслушивать сообщения любого вида. Все зависит от ваших требований.
- pip install aiogram
2) Создаем папку и в ней 3 файла:
- config.py
- main.py
- user_handler.py
Python:
class Settings(object):
"""
Класс настроек
"""
# Все вариации сообщения которые обрабатываются
all_variants = ['Куплю аккаунт', 'куплю аккаунт', 'куплю акаунт', 'куплю аккаунт', 'купи аккаут', 'Куплю ак',
'Куплю аккаунт', 'Куплю аккоунт', 'Купить аккаунт', 'Купи аккаунт', 'Купи аккаунт дёшево', 'КУПЛЮ АККАУНТ',
'куплю акаунт', 'купит аккаут', 'Куплю аккаунт в топе', 'покуплю акаунт', 'аккаунт куплю', 'куплю аккаунт в игре',
'куплю аккаунт дорого', 'куплю аккаунт ', 'Куплю аккаунт', 'КуПлю акк']
# Токен бота
token = ' ТУТ ВПИШИТЕ ТОКЕН БОТА '
# Чат , куда приходят уведомления
chat_id = ' ТУТ ПИШЕМ АЙДИ ЧАТА '
Отлично. Мы создали конфиг нашего будущего бота.
Теперь мы оформим файл запуска. Бот ведь должен как-то запускаться. Открываем файл main.py.
Для начала импортируем все что нам потребуется :
Код:
import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.fsm.storage.memory import MemoryStorage
from aiogram.enums.parse_mode import ParseMode
from user_handler import router
from config import Settings
Отлично. Теперь создадим функцию для запуска.
Python:
async def start():
"""
Функция запуски бота
"""
bot = Bot(token=Settings.token, parse_mode=ParseMode.HTML) # Создаем экземпляр бота
dp = Dispatcher(storage=MemoryStorage()) # Создаем диспетчер и указываем хранилище
dp.include_router(router) # Подключаем роутер , рассмотрим его позже
me = await bot.get_me()
print('Started')
print(me.username)
logging.basicConfig(level=logging.INFO) # Подключаем логирование
try:
await bot.delete_webhook(drop_pending_updates=True) # Удаляем вебхуки
await dp.start_polling(bot) # Бот работает в режиме Long Polling
except Exception as e:
print(e)
Давайте теперь пропишем код для запуска нашей функции.
Код:
# запускаем бота
if __name__ == "__main__":
try:
asyncio.run(start())
except (KeyboardInterrupt, SystemExit):
print('Bot stopped')
Мы добрались до финальной части разработки. Открываем файл user_handler.py и импортируем все что потребуется.
Код:
from aiogram import Router, Bot
from aiogram.filters import BaseFilter
from aiogram import types
from config import Settings
Создаем фильтр, чтобы отлавливать сообщения только из чатов.
Код:
class IsGroup(BaseFilter):
async def __call__(self, message: types.Message) -> bool:
return message.chat.type == 'group'
Создаем роутер, именно он позволяет нам удобно разделять код хэндлеров в различных файлов и соединять в основном.
Код:
router = Router()
Теперь напишем сам обработчик на сообщения.
Python:
@router.message(IsGroup())
async def get_messages(message: types.Message, bot : Bot):
"""
filter: Проверка на группу
:params Messsage, Bot:
Если сообщение содержит в себе нужный текст, отправляем увед. в наш чат
"""
if message.text in Settings.all_variants:
await bot.send_message(chat_id=Settings.chat_id, text=
f'<b> Человек хочет купить аккаунт</b>\n'
f'<b>Юзернейм:</b> @{message.from_user.username}\n'
f'<b>Айди:</b> {message.from_user.id}\n'
f'<b>Полное имя:</b> {message.from_user.full_name}')
Вот мы и закончили разработку! Осталось запустить и потестить. Вводим в консоли:
- python main.py
Вводим сообщение в чате:
Бот присылает уведомление в наш чат:
Таким образом, вы можете менять тексты на свои и подслушивать сообщения любого вида. Все зависит от ваших требований.
Последние темы в этом разделе:
- [Alex Erofeev] [Stepik] JavaScript: самый быстрый курс (2024)
- [Михаил Русаков] Написание лайфхаков на Python (2021)
- Пишем DDOS скрипт на Python
- [Саид Магомедов] Python. Микросервисы. Backend на FastAPI [Stepik] (2024)
- Как написать чат-бота на python
- Пишем скрипт по парсингу ответов из gdz.ru
- [Udemy] Кибербезопасность: тестирование на проникновение с помощью Python 3 (2022)
- [Udemy] [ENG] Продвинутый ИИ - глубокое обучение с подкреплением в Python (2024)
- Создание бесплатного API для генерации изображений, используя перехваченные запросы Flux
- [Андрей Сумин] [Stepik] Java с нуля до Junior + Подготовка к собеседованию (2024)