Загрузка...
Создаем бота-подслушку на Python
  1. TheBatashev
    TheBatashev Автор темы 7 апр 2024 Путь к успеху - t.me/future_batashev 267 23 мар 2022
    [IMG]

    Ищешь разработчиков для реализации своих идей? Парни из 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 и прописываем в нем следующий код:

    Python
    class Settings(object):

    """
    Класс настроек
    """

    # Все вариации сообщения которые обрабатываются
    all_variants = ['Куплю аккаунт', 'куплю аккаунт', 'куплю акаунт', 'куплю аккаунт', 'купи аккаут', 'Куплю ак',
    'Куплю аккаунт', 'Куплю аккоунт', 'Купить аккаунт', 'Купи аккаунт', 'Купи аккаунт дёшево', 'КУПЛЮ АККАУНТ',
    'куплю акаунт', 'купит аккаут', 'Куплю аккаунт в топе', 'покуплю акаунт', 'аккаунт куплю', 'куплю аккаунт в игре',
    'куплю аккаунт дорого', 'куплю аккаунт ', 'Куплю аккаунт', 'КуПлю акк']

    # Токен бота
    token = ' ТУТ ВПИШИТЕ ТОКЕН БОТА '

    # Чат , куда приходят уведомления
    chat_id = ' ТУТ ПИШЕМ АЙДИ ЧАТА '

    Отлично. Мы создали конфиг нашего будущего бота
    Теперь мы оформим файл запуска. Бот ведь должен как-то запускаться. Открываем файл main.py

    Для начала импортируем все что нам потребуется :
    Python
    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)

    Давайте теперь пропишем код для запуска нашей функции
    Python
    # запускаем бота
    if __name__ == "__main__":
    try:
    asyncio.run(start())
    except (KeyboardInterrupt, SystemExit):
    print('Bot stopped')
    Мы добрались до финальной части разработки

    Открываем файл user_handler.py и импортируем все что потребуется
    Python
    from aiogram import Router, Bot
    from aiogram.filters import BaseFilter
    from aiogram import types
    from config import Settings
    Создаем фильтр, чтобы отлавливать сообщения только из чатов
    Python
    class IsGroup(BaseFilter):
    async def __call__(self, message: types.Message) -> bool:
    return message.chat.type == 'group'
    Создаем роутер, именно он позволяет нам удобно разделять код хэндлеров в различных файлов и соединять в основном
    Python
    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
    Таким образом мы запустили нашего бота, не забудьте заполнить конфиг своими данными


    Создаем чат и добавляем туда бота:
    [IMG]


    Вводим сообщение в чате :

    [IMG]


    Бот присылает уведомление в наш чат:

    [IMG]

    Таким образом, вы можете менять тексты на свои и подслушивать сообщения любого вида. Все зависит от ваших требований.

    Всем спасибо.



    Ну а если вы не хотите тратить время на разработку, конечно же можете обратиться ко мне.




     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    7 апр 2024 Изменено
    1. fedyaxnx
      и зач он нужен?

Комментарии

    1. maks164836
      maks164836 24 апр 2024 31 3 дек 2018
      есть же юзер-боты (тебе просто нужен аккаунт тг) :em:
       
    2. petzold
      petzold 25 апр 2024 Console.WriteLine("Hello"); 6 25 мар 2019
      Я бы посоветовал улучшить твоего бота. Ты просто сопоставляешь строки, попробуй применить алгоритм шинглов и сравнивать схожесть текстов на основе косинусного сходства, тем самым ты получишь коэффициент схожести строк.

      https://habr.com/ru/articles/520696/ -- статья на эту тему
       
    3. Буба_в_тренде
      Буба_в_тренде 27 апр 2024 Заблокирован(а) 2 26 апр 2024
      Я уже подумал прослушку микрофона на пк
       
      1. aqwsderfvcxz
    4. ФРУТС
      ФРУТС 29 апр 2024 <3 jenna ortega E> 544 7 фев 2023
      то есть вместо того, чтобы приводить все сообщения в боте в lower case ты решил ебаться с регистром?
       
    5. quettro
      quettro 2 май 2024 2 23 май 2022
      И за это "чудо" попало в раздел "Статьи" ? Серьезно ? Что за здц
       
      1. GREQUE
        quettro, там выше вообще статья про то как люди себе чужой кал в очко вставляют
    6. Orion
      Orion 9 май 2024 Мной движет бабло, пизда и любовь 2956 3 дек 2018
      Есть подобный готовый сервис без гемороя?
      Что бы работал по списку чатов
       
      9 май 2024 Изменено
      1. TheBatashev Автор темы
        Orion,
        9 май 2024 Изменено
    7. Vayton
      Vayton 12 май 2024 1 10 авг 2019
      почему нельзя привести message.text к нижнему регистру? ты же в конфиге не пропишешь все варианты написания слов, там могут и заборчиком и как угодно написать.
       
      1. TheBatashev Автор темы
    8. thetruth
      а почему на телетхоне нельзя сделать
       
      1. TheBatashev Автор темы
    9. offgazizov
      offgazizov 4 авг 2024 Заблокирован(а) 2700 13 янв 2022
      Улучши бота
       
      1. TheBatashev Автор темы
        offgazizov, давно хочу, никак руки не доходят до него
    10. patr1k_inactive4571180
Top
Загрузка...