ServChan
Ответ на пост «Как я с голосовыми сообщениями боролся»2
Посмотрел пост и решил реализовать такой же "блокиратор", но только для коротких сообщений. Есть у меня в диалогах любители отправить 5 голосовых по 2 слова. Если сообщение достаточно большое (10+ секунд), то там может и что-то важное затесаться, что неудобно печатать. Ниже попробую максимально просто описать как установить его для себя пользователю Windows. (Пост выглядит большим и страшным, но я просто старался очень подробно описать что требуется для запуска. Если у вас когда либо был опыт в использовании Python, то многие пункты для вас уже выполнены.)
Реализовано все на языке Python третьей версии. Из зависимостей - стандартный модуль Datetime (работа со временем, для форматирования логгирования в консоль), модуль Colorama (опять же для форматирования, делает глазам немного приятнее) и основной модуль, выполняющий функции связующего с телеграмом - telethon.
Шаг первый - установка всего необходимого.
Установка Python с официального сайта. После завершения установки нам нужно открыть консоль. Можно открыть ее нажав кнопку пуск и вписав в поиск CMD,
либо же нажав сочетание клавиш Windows + R и вписать команду CMD там.
Вам откроется командная строка Windows. Приступаем к установке модулей. При установке Python вы получаете PIP - менеджер пакетов, облегчающий их установку. Вводим несколько команд по очереди:
1. pip install telethon
2. pip install colorama
Шаг второй - скачивание и непосредственно запуск скрипта
Скачать скрипт можно с GitHub репозитория. Нас интересует файл stopvoice.py.
С помощью обычного блокнота открываем файл и вставляем свои данные. Нас интересуют строки
api_id = 000000Данные для первых двух строк можно узнать на сайте https://my.telegram.org/apps. Для третьей строки вводим свой номер телефона.
api_hash = ""
selfbot.start("PHONE NUMBER")
Скрипт будем запускать посредством той же командной строки.
Если у вас желание поиграться со скриптом в течение небольшого времени, то делаем следующие шаги:
1. В консоли открываем папку где находится скачанный скрипт посредством команды
cd /d <Расположение файла>
Узнать расположение файла можно открыв его свойства, нажав по нему ПКМ и выбрав последний пункт меню.
2. Запускаем скрипт командой
python stopvoice.py
При первом запуске он попросит вас ввести код из телеграма для доступа к аккаунту, как при входе с нового устройства.
Готово! Скрипт запущен и фильтрует голосовые короче 10 секунд, показывая любителям отправить вам два слова посредством голоса не самую приятную для них надпись "Пользователь ограничил функцию голосовых сообщений."
Если вы хотите изменить время для фильтрации голосовых, нужно найти строку
if (event.message.voice) and (event.message.voice.attributes[0].duration < 10):
и изменить число 10 на необходимое вам число секунд.
Хотите чтобы скрипт не фильтровал сообщения от определенных пользователей? Нужно внести их ID через запятую в
whitelist = [Тут, к примеру, скрипт не будет трогать сообщения от людей с ID 0000000 и 1111111. Узнать ID пользователя можно переслав любое его сообщение @getmyid_bot. Он будет в поле Forwarded from:
0000000,
1111111
]