@vxrt3x

Почему когда отвечаю на сообщение в чате, сообщение не присылается пользователю в бота обртано?

Вот код:

import telebot

token = ''
bot = telebot.TeleBot(token)

support_chat_id = '-1002193136749'

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'привет! Я бот технической поддержки. Напишите сообщение для обращения в тех.поддержку.')

@bot.message_handler(content_types=['text'])
def handle_message(message):
    if message.chat.type == 'private':
        bot.send_message(support_chat_id, f'Обращение - #{message.chat.id}:\n\n{message.text}\n\nНе забудьте открыть/закрыть обращение.')
        bot.send_message(message.chat.id, 'Ваше сообщение отправлено в техническую поддержку. Мы постараемся ответить как можно быстрее!')

@bot.message_handler(func=lambda message: message.forward_from_chat and str(message.forward_from_chat.id) == support_chat_id)
def forward_message_to_user(message):
    bot.send_message(message.forward_from_chat.id, message.text)

@bot.message_handler(commands=['create_ticket'])
def create_ticket(message):
    ticket_id = f'ticket_{message.chat.id}'
    bot.send_message(support_chat_id, f'Новый тикет создан: {ticket_id}')
    bot.send_message(message.chat.id, f'Ваш тикет создан: {ticket_id}')

@bot.message_handler(commands=['close_ticket'])
def close_ticket(message):
    ticket_id = f'ticket_{message.chat.id}'
    bot.send_message(support_chat_id, f'Тикет закрыт: {ticket_id}')
    bot.send_message(message.chat.id, f'Ваш тикет закрыт: {ticket_id}')


bot.polling()
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
У тебя handle_message() стоит первым - поэтому бот будет пытаться использовать его для любых текстовых сообщений. А поскольку у тебя там тупо if, без какой-либо реакции на неожиданные сообщения, то если if не выполнился, бот молча ничего не сделает.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы