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: Приветствие пользователя и информация о том, как подать заявку.
Обработчик сообщений: Обрабатывает текстовые сообщения от пользователя. В данном случае он отправляет заявку в указанный закрытый канал.
Основная функция: Настраивает и запускает бота.