• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

python Гайд Создаем бота-подслушку на Python

Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Для начала установим aiogram и создадим бота. Открываем консоль ( win+r ) и вводим:
  • pip install aiogram
Далее переходим в

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

и создаем бота. Переходим в настройки нашего бота и выключаем 'Privacy mode'. Это делается для того, чтобы бот имел возможность читать сообщения в чатах, куда он был добавлен

2) Создаем папку и в ней 3 файла:

  • config.py
  • main.py
  • user_handler.py
Давайте теперь создадим конфиг для нашего проекта, где будет храниться приватная информация. Открываем файл config.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
Таким образом мы запустили нашего бота, не забудьте заполнить конфиг своими данными. Создаем чат и добавляем туда бота:



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


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


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

dikerpiker

Участник
LV
0
 
29.04.2024
11
0
8
Награды
1
33

Репутация:

Капец. То есть, по сути, мой ник в телеграмм так легко узнать? Настройки приватности типа "запретить писать не-контактам" не помогут от этого?
 
Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #3
Нет, я ошибся названием , поправил название темы.
Но про что вы пишите такое то-же есть. В том месяце нашли.
 
F Оффлайн

falseAge

Участник
LV
2
 
02.05.2024
10
0
22
Награды
3

Репутация:

еще замаскировать бота под обычный аккаунт или обычного бота и вообще сказка
 
Оффлайн

karmez

Участник
LV
3
 
23.12.2023
34
0
31
Награды
4
44

Репутация:

Класс! Надо попробовать поюзать этого бота.
 
B Оффлайн

b3weew

Участник
LV
0
 
25.04.2024
2
0
6
Награды
1
29

Репутация:

Очень классная идея бота!!!
 
P Оффлайн

pop046

Участник
LV
3
 
21.03.2023
3
0
24
Награды
3
24

Репутация:

Попробую, а так зачетно вроде
 
G Оффлайн

GYStQrMYW5SEevW5

Участник
LV
0
 
06.05.2024
5
0
6

Репутация:

откуда взялся роутер и зачем это не очень понятно
Python:
router = Router()
 
Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #9
G @GYStQrMYW5SEevW5,
Объект router = Router() в Python используется в веб-фреймворках для маршрутизации запросов к соответствующим обработчикам. Он позволяет определить правила сопоставления между URL-адресами и функциями, которые должны обрабатывать эти запросы.
 
H Оффлайн

HornyElf

Участник
LV
2
 
16.03.2024
11
0
25
Награды
2
20

Репутация:

Не совсем понял, что именно делает этот бот?
 
Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #11
Не совсем понял, что именно делает этот бот?
Бот следит за нужными пользователя в чатах телеграм и когда он пишет , присылает тебе текст его сообщения, дата , время , ник и т.д.
 
H Оффлайн

HornyElf

Участник
LV
2
 
16.03.2024
11
0
25
Награды
2
20

Репутация:

Понял, спасибо. Достаточно полезно
 
T Оффлайн

tony_jay

Участник
LV
3
 
18.09.2024
8
0
9
Награды
3
34

Репутация:

Гайд неплохой, но лучше регулярные выражения заиспользовать, чтобы не писать тысячу вариаций
 
Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Тут же ссылка прямая на сообщение, не пересыл. По сути, этот человек написал "боту", а бот уже может спарсить всё, что нужно, с одного лишь сообщения.

разве не так?
А у вас есть гайды по регулярным выражениям?))

Поделитесь, пожалуйста

Кажется, что в этом случае проще перечислить список, чем писать регулярки
 
Оффлайн

chebureque

Местный
Участник
LV
2
 
12.10.2024
55
0
16
Награды
3
29

Репутация:

А еще лучше использовать ИИ, скармливать ему сообщение и смотреть, навесит ли нужный тег или нет
 
Оффлайн

chebureque

Местный
Участник
LV
2
 
12.10.2024
55
0
16
Награды
3
29

Репутация:

Какой, например? Что ещё посоветуете?
Да хоть чат ГПТ - так будет универсальнее. Скармливаешь ему сообщение по АПИ и спрашиваешь: "хочет ли человек купить аккаунт, ответь true или false". Да, это требует доступную апишку любой ЛЛМ, но зато легко перестроить на новые рельсы. Например теперь тебе пнадобилось не купить аккаунт, а подстричь кота, и чтобы не писать все "фразы", ы меняешь всего в одном месте - в вопросе к ИИ
 
Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

а где взять это апи?
 
R Оффлайн

removefire

Участник
LV
0
 
22.11.2024
2
0
6
28

Репутация:


Я бы пересмотрел данные строчки и закинул их отдельно в виде конфига. Ну и вместо набора слов в словаре. создал бы файл в который бы ходил бот и искал что необходимо.

А так не совсем понимаю использование данного бота, только в качестве "метрик" на чем-нибудь своем и сборе лидов. Имхо.
 
U Оффлайн

user228844

Участник
LV
0
 
23.11.2024
1
0
5
24

Репутация:

.upper в помощь, что бы не писать много вариаций одинаковый тригеров
 

Поиск по форуму

Похожие темы:

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....