Привет, меня зовут Иван, и я расскажу тебе, как создать бота в Telegram, который будет очищать неактивных подписчиков в телеграм-канале, то есть тех, кто не заходил в канал более месяца назад.
Для начала нам понадобится создать своего бота в Telegram. Открой Telegram и найди бота @BotFather. Напиши ему сообщение ″/newbot», и следуй инструкциям для создания нового бота. Нужно будет указать имя бота и получить токен, который мы будем использовать для управления ботом.Теперь, когда у нас есть бот, давай настроим его для очистки неактивных подписчиков. Для этого нам понадобится библиотека python-telegram-bot. Если ты не знаком с Python, не переживай, я расскажу все шаги подробно.1. Установи Python на своем компьютере, если его у тебя еще нет. Можешь скачать его с официального сайта python.org и следовать инструкциям.
2. Установи библиотеку python-telegram-bot, выполнив команду в командной строке⁚
pip install python-telegram-bot
3. Создай новый файл с расширением .py и открой его в редакторе кода;
Теперь введем следующий код⁚
python
import telegram
from telegram.ext import Updater, CommandHandler
TOKEN ″твой_токен_бота″
def cleanup(update, context)⁚
# Код для очистки подписчиков
def main⁚
updater Updater(TOKEN, use_contextTrue)
dp updater.dispatcher
dp.add_handler(CommandHandler(″cleanup″, cleanup))
updater.start_polling
updater.idle
if __name__ ‘__main__’⁚
main
Замени ″твой_токен_бота″ на токен, который ты получил от @BotFather.
Теперь создадим функцию для очистки подписчиков. Добавь следующий код после строки ″Код для очистки подписчиков″⁚
python
# Получаем список подписчиков
subscribers context.bot.get_chat_members_count(chat_idupdate.message.chat_id)
# Проходимся по каждому подписчику
for i in range(subscribers)⁚
# Получаем информацию о подписчике
user_info context.bot.get_chat_member(chat_idupdate.message.chat_id, user_idsubscribers[i].user.id)
# Проверяем, когда пользователь последний раз заходил в канал
if user_info.last_seen.date < datetime.date.today ⎻ datetime.timedelta(days30)⁚
# Если пользователь не был активен более месяца, удаляем его из канала
context.bot.kick_chat_member(chat_idupdate.message.chat_id, user_idsubscribers[i].user.id)
# Отправляем сообщение о удалении подписчика
context.bot.send_message(chat_idupdate.message.chat_id, textf″Пользователь {user_info.user.first_name} был удален из канала.″)