Загрузка...
Создаем бота-подслушку на 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. arimans
      arimans 7 апр 2024 228 19 748 5 май 2019
      Боюсь, если добавляю его в школьную беседу, то мои одноклассники его выгонят.
      Поэтому со стороны это будет очень странно выглядеть.
       
      7 апр 2024 Изменено
      1. Посмотреть предыдущие комментарии (1)
      2. maza_tt
        TheBatashev, можно просто юзербота использовать
      3. GREQUE
        TheBatashev, раньше можно вообще мультипуллинг делать
      4. yrteynes
        arimans, можно сделать такого же, но юзербота, через telethon/pyrogram
    2. O_Flow_O
      O_Flow_O 7 апр 2024 717 22 сен 2021
      Круто все это, добавлю в закладки но забуду потому что больше 1 движения нужно сделать, а так норм тема :amogus:
       
    3. Kalipso
      Kalipso 7 апр 2024 530 12 апр 2022
      блять, такой бот нахуй никому не нужен, его никто не куда не добавит
       
      1. Посмотреть предыдущие комментарии (3)
      2. Kalipso
        God_likeGL, базар закрыт в такое время
      3. Klerian
        Kalipso, вы не правы, очень востребованный бот вышел, всяким админам по перепродажам игр вообще на ура зашел.
    4. TellS
      TellS 7 апр 2024 ТГ КАНАЛЫ | https://zelenka.guru/threads/6769489/ 38 14 апр 2021
      лучше сделать юзербота
       
      1. Посмотреть предыдущие комментарии (1)
      2. Кот
        TheBatashev, буду ждать, вот это реально интересно :wotpopcorn:
    5. devneon
      devneon 7 апр 2024 Разработка >> https://lolz.live/threads/6933293/ 227 16 дек 2020
      Не плохо, а на какие слова он реагирует?
       
      1. TheBatashev Автор темы
        devneon, на те, ккоторые указаны в конфиге
        7 апр 2024 Изменено
    6. nikonov01
      nikonov01 7 апр 2024 67 21 мар 2024
      Ну первое очевидно что нужен не бот, а юзербот, далеко не во все чаты ты имеешь право добавить бота, если суть скрипта в отлове людей которые хотят купить услугу, лучше не делать огромный лист с вариациями сообщений, а ловить по regex слово купить, и подобные
       
    7. КРПТ
      КРПТ 7 апр 2024 4064 6 авг 2021
      Ну в принципе не видел подобного, "сталкерам" будет полезно
       
      1. TellS
        КРПТ, я уже делал такого, но код потерян уже :(
      2. zxboxing
        КРПТ, Охота на одноклассниц станет еще лучше
    8. сушняк
      сушняк 8 апр 2024 15 184 19 янв 2021
      Я теперь понимаю почему у меня в рекомендациях «Агент кгб как не допустил 3 мировой войны» Статьи с подобной информацией делают форум и жизнь интересней. Добавить подобного в чаты селлеров и все конкуренты сосут без остановки.
       
      8 апр 2024 Изменено
    9. GREQUE
      GREQUE 18 апр 2024 Developer from God 202 9 дек 2017
      Все прикольно, но за конфиг в .py файле обложить писюнами
       
    10. value
      value 19 апр 2024 Синий экран 378 6 янв 2022
      Статья полезная, но давно ли начали давать авторку за код?..
       
      1. GREQUE
        value, статья для не прогеров полезная, имхо лучше чем инструкции по проливу трафика которые понятны интуитивно
      2. value
        GREQUE, Не спорю, но ведь тебе даже могут помочь по написанию бота на разных тематических форумах, а за такое давать авторку для меня просто странно..
      3. GREQUE
        value, сама идея бота интересная, я думаю за бота магазин с миллиардом вариантов платёжек, фильтрами и ид, сервисом уведомлений на брокере не дали бы авторку потому что реализовать тяжело, но идея тривиальная, если это что выше переписать на юзербота вообще пушка будет
    11. phosphene
      phosphene 19 апр 2024 хейтер 1300 3 апр 2019
      Слушай, я сначала хотел мимо пройти, но потом увидел, что ты уже год код пишешь и не смог молча пройти:
      Python
      class Settings(object):
      В 3+ питоне не нужно указывать базовый класс наследия (он автоматически его и берет). Да и в целом, хранить токен в коде? Почему не в переменной среды?

      >Открываем консоль ( win+r ) и вводим : pip install aiogram
      Советовать людям в базовый интерпритатор ставить библиотеки?



      Python
          try:
      await bot.delete_webhook(drop_pending_updates=True) # Удаляем вебхуки
      await dp.start_polling(bot) # Бот работает в режиме Long Polling

      except Exception as e:
      print(e)
      Это вообще какой смысл имеет? Аиограмм нынче не в лонг поллинге стартует?

      И в чем вообще смысл делать на аиограмм, почему не пайрограм с юзерботом? docs.pyrogram.org/


      Ты случаем на фрилансе не сидел, где за кол-во строк написанных доплачивали?
       
      19 апр 2024 Изменено
      1. TheBatashev Автор темы
        phosphene, да , знаю про это) Писал статью ночью , сонный. А так да, юзерботом лучше, просто показал как это делается с помощью обычных ботов
    12. Shadowraze
      Shadowraze 20 апр 2024 682 15 июл 2018
      Мне вот интересно, зачем создавать статью для твоего овнокода? Что мешало закинуть просто сурсы в раздел питона с пояснениями использования? Зачем выводить этот тред в статьи, если по факту тут нет ничего такого?
       
      1. TheBatashev Автор темы
        Shadowraze, Людям нравится задумка :finger_up: , ну закинь раз не нравится мой говнокод
      2. MNARQ
        TheBatashev, правильно, как говориться , критикуешь - предлагай !
    13. Miracle312
      Miracle312 20 апр 2024 Вернулся на лолз :) 379 18 мар 2018
      Статья годная :coder:
      Может пригодиться где-то)
       
    14. BaFFomet
      BaFFomet 20 апр 2024 1 14 апр 2024
      Создаем бота-подслушку на Python

      Необходимые компоненты:

      Python 3.6 или выше
      Библиотека Telegram Bot API
      Аккаунт Telegram

      Шаг 1. Установка библиотек
      pip install python-telegram-bot

      Шаг 2. Создание бота
      Перейдите на сайт Telegram и создайте нового бота с помощью бота @BotFather. Сохраните его токен API.
      Шаг 3. Импорт библиотек и инициализация бота
      import telegram
      from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

      # Ваш токен API
      YOUR_API_KEY = '123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ'

      # Инициализация бота
      bot = telegram.Bot(token=YOUR_API_KEY)
      updater = Updater(bot=bot, use_context=True)

      Шаг 4. Обработчик сообщений
      Определим функцию, которая будет обрабатывать все входящие сообщения.
      def echo(update, context):
      text = update.message.text
      context.bot.send_message(chat_id=update.effective_chat.id, text=text)

      Шаг 5. Диспетчеризация обработчика сообщений
      Диспетчеризуем наш обработчик сообщений так, чтобы он срабатывал на все сообщения, содержащие текст (не на команды).
      updater.dispatcher.add_handler(MessageHandler(Filters.text, echo))

      Шаг 6. Запуск бота
      Запустить бота можно с помощью следующего кода:
      updater.start_polling()
      updater.idle()

      Как использовать бота:
      Теперь вы можете отправлять сообщения боту, и он будет повторять их обратно.
      Дополнительные функции:
      Вы можете добавить дополнительные функции в своего бота, например:

      Сохранение сообщений в базу данных
      Модерация сообщений
      Управление администраторами бота
       
      1. leha757
        BaFFomet, если у меня при скачке библиотеки везде и в пичарме и в обычном пайтоне пишет инвалид синтекс, чд. [IMG][IMG][IMG]
      2. lolkek133
        leha757, не знаю актуально или нет, но эта ошибка возникает потому что ты грубо говоря запускаешь динамический код в пайтоне, у которого в синтаксисе нет таких команд. Чтобы всё заработало, открой cmd и скачивай оттуда эту библиотеку
    15. Vov4ok
      Vov4ok 20 апр 2024 725 20 мар 2021
      Бот норм что бы чекать удаленные сообщения в чате а так хз нах он нужен.
       
    16. Непомни
      Непомни 21 апр 2024 Честный, местный 492 6 мар 2024
      это жоска. Я то думал, прям жучок, как в фильмах :roflanFacepalm:
       
    17. PayFun
      PayFun 21 апр 2024 t.me/FunPayStorerobot - мой шоп по аккичам Funpay 1571 12 июл 2021
      ниндзя грам - нееет. Быть админом чтобы чекать недавно удаленные - неееет
       
    18. Aisan
      Aisan 21 апр 2024 Ничего не продаю и не создаю. Не пишите мне 15 853 26 авг 2020
      Статьи, во что вы превратились...
       
      21 апр 2024 Изменено
    19. ghosti
      ghosti 22 апр 2024 0 8 апр 2024
      TheBatashev в чем прикол бота , так и не понял
       
Top
Загрузка...