Задать вопрос
@Dimentiy-cmd

Как сделать бота в телеграмм который будет обрабатывать заявки?

Здравствуйте! Мне нужно сделать тг бота который будет обрабатывать заявки в закрытый канал.
Думаю некоторые сталкивались с такими, отправил заявку и тебе пишет бот. Так вот мне нужно тоже самое сделать. Пытался искать в интернете, не получилось там только про конструкторы говорят, а мне нужно на чистом коде(python/node js)
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Бот должен иметь роль админа в чате.
Получает update с заявкой на вступление – поле chat_join_request содержит объект ChatJoinRequest,
проводит диалог с юзером,
одобряет заявку: approveChatJoinRequest.

Методы, доступные ботам описаны в документации тг.
Для реализации бота можно взять Telegraf.js, у него есть и репо с примерами ботов. Возможно там найдется и подходящий пример.
Ответ написан
Комментировать
FalseHuman
@FalseHuman
Не гений, не миллиардер, не плэйбой, не филантроп
import logging
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# Включаем логирование
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)

# Создаем функцию, которая будет обрабатывать заявки
def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Привет! Чтобы подать заявку, напишите ее в сообщении.')

def handle_message(update: Update, context: CallbackContext) -> None:
    # Здесь можно обработать заявку
    user_message = update.message.text
    user_id = update.message.from_user.id

    # Например, отправить сообщение в закрытый канал
    context.bot.send_message(chat_id='@your_channel_id', text=f'Заявка от пользователя {user_id}: {user_message}')
    
    # Ответ пользователю
    update.message.reply_text('Ваша заявка принята!')

def main():
    # Вставьте сюда ваш токен
    updater = Updater("YOUR_TELEGRAM_BOT_TOKEN")

    # Получаем диспетчер для регистрации обработчиков
    dp = updater.dispatcher

    # Добавляем обработчики команд и сообщений
    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, handle_message))

    # Запускаем бота
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Объяснение кода:
Импорт библиотек: Импортируем необходимые функции и классы из библиотеки python-telegram-bot.
Логирование: Устанавливаем базовую конфигурацию логирования для отладки.
Обработчик команды /start: Приветствие пользователя и информация о том, как подать заявку.
Обработчик сообщений: Обрабатывает текстовые сообщения от пользователя. В данном случае он отправляет заявку в указанный закрытый канал.
Основная функция: Настраивает и запускает бота.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы