Как создать Telegram-бота для администрирования групп и каналов: 🛠️😎

Как создать Telegram-бота для администрирования групп и каналов: 🛠️😎

Привет! Готов погрузиться в создание крутого бота, который будет наводить порядок в твоих чатах? Бот будет удалять спам, блокировать нарушителей, приветствовать новичков и помогать тебе быть настоящим властелином Telegram! Давай начинать. 🚀

1. Шаг первый: общаемся с BotFather

Знакомься, это BotFather — твой новый друг в мире Telegram. Пиши ему:

  1. В Telegram найди @BotFather и отправь /newbot.
  2. Назови своего бота (креатив приветствуется).
  3. Получи святой токен (он выглядит как случайный набор символов).
  4. Запомни или запиши токен — это ключ к управлению ботом.

2. Настраиваем Python и библиотеку

Дальше всё просто: качаем инструменты для работы.


pip install python-telegram-bot --upgrade

Теперь у нас есть суперсила для создания бота. 🦸‍♂

3. Пишем первого робота

Создаём файл bot.py и добавляем базовую программу. Этот бот пока только приветствует, но мы сделаем из него настоящую легенду.

from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes # Команда /start async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text("Привет! Я твой новый бот-админ. Добавь меня в группу и дай права админа. Поехали!") app = ApplicationBuilder().token("YOUR_BOT_TOKEN").build() app.add_handler(CommandHandler("start", start)) print("Бот запущен и готов к бою!") app.run_polling()

Запускаем:

python bot.py

Теперь бот работает, но ему явно скучно. Давай его прокачаем! 💪

4. Удаляем спам и запрещаем ссылки

Спам? Ссылки? Реклама? Не в наших чатах! Добавим функцию, чтобы бот удалял всё это добро.

async def remove_spam(update: Update, context: ContextTypes.DEFAULT_TYPE): message = update.message if "http" in message.text or "www" in message.text: await message.delete() await message.reply_text("Эй! Ссылки запрещены. Не нарушай правила!", quote=False) app.add_handler(MessageHandler(filters.TEXT & filters.ChatType.GROUPS, remove_spam))

Теперь бот будет уничтожать ссылки на лету. 🛡

5. Баним нарушителей (без суда и следствия)

Хочешь забанить пользователя? Легко. Достаточно ответить на его сообщение командой /ban.

async def ban_user(update: Update, context: ContextTypes.DEFAULT_TYPE): if not update.message.reply_to_message: await update.message.reply_text("Эта команда работает только как ответ на сообщение.") return user_id = update.message.reply_to_message.from_user.id await context.bot.ban_chat_member(chat_id=update.effective_chat.id, user_id=user_id) await update.message.reply_text("Пользователь забанен. Справедливость восторжествовала! 🚨") app.add_handler(CommandHandler("ban", ban_user))

Пусть это будет твоё тайное оружие против хулиганов. 🥊

6. Ограничиваем балаболов

Иногда банить — слишком жёстко. Давай просто запретим кому-то писать в чате

from telegram import ChatPermissions async def restrict_user(update: Update, context: ContextTypes.DEFAULT_TYPE): if not update.message.reply_to_message: await update.message.reply_text("Ответь на сообщение, чтобы ограничить пользователя.") return user_id = update.message.reply_to_message.from_user.id permissions = ChatPermissions(can_send_messages=False) await context.bot.restrict_chat_member(chat_id=update.effective_chat.id, user_id=user_id, permissions=permissions) await update.message.reply_text("Пользователь временно замолчит. 🤐") app.add_handler(CommandHandler("restrict", restrict_user))

Теперь у тебя есть "режим тишины". 👌

7. Приветствуем новичков

Покажи, что ты дружелюбный админ, который рад каждому новому участнику.

async def welcome_new_members(update: Update, context: ContextTypes.DEFAULT_TYPE): for member in update.message.new_chat_members: await update.message.reply_text(f"Добро пожаловать в чат, {member.full_name}! 🎉") app.add_handler(MessageHandler(filters.StatusUpdate.NEW_CHAT_MEMBERS, welcome_new_members))

Тепло, лампово и уютно. ☀

8. Поднимаем бота на новый уровень

  1. Логирование: Пиши админам о всех удалённых сообщениях или банах.
  2. Хостинг: Заливай бота на сервер чтобы он работал 24/7.
  3. Модульность: Раздели код на отдельные файлы, чтобы было удобно добавлять новые фишки.

9. Финал: запускаем!

Полный код готов, бот ждёт команды. Запускаем и смотрим, как он наводит порядок:

python bot.py

Теперь ты создал бота, который следит за порядком и делает твою жизнь легче. 🎩✨

Если нужны дополнительные фишки — пиши! Вместе сделаем что-то невероятное. 🚀

Начать дискуссию