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

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

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