Ищешь разработчиков для реализации своих идей? Парни из Byte Forge точно это смогут. Ведь мы занимаемся разработкой более года, подробнее жми ниже
https://zelenka.guru/threads/6746656/
В этой статье мы создадим телеграм бота-подслушку на языке программирования Python
1)
Для начала установим aiogram и создадим бота
Открываем консоль ( win+r ) и вводим : pip install aiogram
Далее переходим в BotFather и создаем бота. Переходим в настройки нашего бота и выключаем 'Privacy mode'. Это делается для того, чтобы бот имел возможность читать сообщения в чатах, куда он был добавлен
2)
Создаем папку и в ней 3 файла:
config.py
main.py
user_handler.py
Давайте теперь создадим конфиг для нашего проекта, где будет храниться приватная информация.
Открываем файл config.py и прописываем в нем следующий код:
Отлично. Мы создали конфиг нашего будущего ботаclass Settings(object):
"""
Класс настроек
"""
# Все вариации сообщения которые обрабатываются
all_variants = ['Куплю аккаунт', 'куплю аккаунт', 'куплю акаунт', 'куплю аккаунт', 'купи аккаут', 'Куплю ак',
'Куплю аккаунт', 'Куплю аккоунт', 'Купить аккаунт', 'Купи аккаунт', 'Купи аккаунт дёшево', 'КУПЛЮ АККАУНТ',
'куплю акаунт', 'купит аккаут', 'Куплю аккаунт в топе', 'покуплю акаунт', 'аккаунт куплю', 'куплю аккаунт в игре',
'куплю аккаунт дорого', 'куплю аккаунт ', 'Куплю аккаунт', 'КуПлю акк']
# Токен бота
token = ' ТУТ ВПИШИТЕ ТОКЕН БОТА '
# Чат , куда приходят уведомления
chat_id = ' ТУТ ПИШЕМ АЙДИ ЧАТА '
Pythonclass 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 SettingsPythonimport 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
Отлично. Теперь создадим функцию для запуска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)Pythonasync 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')Python# запускаем бота
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
Pythonfrom 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'
Pythonclass IsGroup(BaseFilter):
async def __call__(self, message: types.Message) -> bool:
return message.chat.type == 'group'Создаем роутер, именно он позволяет нам удобно разделять код хэндлеров в различных файлов и соединять в основном
router = Router()
Pythonrouter = Router()
Теперь напишем сам обработчик на сообщения
@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@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
Таким образом мы запустили нашего бота, не забудьте заполнить конфиг своими данными
Создаем чат и добавляем туда бота:
Вводим сообщение в чате :
Бот присылает уведомление в наш чат:
Таким образом, вы можете менять тексты на свои и подслушивать сообщения любого вида. Все зависит от ваших требований.
Всем спасибо.
Ну а если вы не хотите тратить время на разработку, конечно же можете обратиться ко мне.
Загрузка...

Скопировать BBCode