ТГ бот, который пересылает сообщения другому пользователю
Новичок в данной сфере Необходимо реализовать следующее: Когда пользователь вводит команду /feedback, бот сначала должен выдать сообщение(Готов принять ваш отзыв:), после - получить ответ и его же переслать по owner_id, и выдать (Спасибо, отзыв был отправлен). У меня же, после /feedback бот выводит 2 сообщения одновременно, и более того, все последующие сообщение также отправляет по owner_id
import config
import telebot
bot = telebot.TeleBot('')
owner_id = ''
@bot.message_handler(commands=["start"])
def start(message):
message_text = 'Здравствуйте, ' + message.from_user.first_name + "!" \
+ '\nЯ Бот-отзовик.\nГотов принять ваш отзыв. \n/feedback - оставить отзыв'
bot.send_message(message.chat.id, message_text)
@bot.message_handler(content_types=["text"])
@bot.message_handler(commands=["feedback"])
def feedback(message):
bot.send_message(message.chat.id, "Готов принять ваш отзыв: ")
bot.forward_message(owner_id, message.chat.id, message.message_id)
bot.send_message(message.chat.id, "Спасибо, отзыв был отправлен ")
if __name__ == '__main__':
bot.polling(none_stop = True)
Ответы (1 шт):
Автор решения: Данила Граф
→ Ссылка
используй next step handler
import config
import telebot
bot = telebot.TeleBot('токен')
owner_id = 'ваш айди'
@bot.message_handler(commands=["start"])
def start(message):
message_text = 'Здравствуйте, ' + message.from_user.first_name + "!" + '\nЯ Бот-отзовик.\nГотов принять ваш отзыв. \n/feedback - оставить отзыв'
bot.send_message(message.chat.id, message_text)
@bot.message_handler(commands=["feedback"])
def feedback(message):
msg = bot.send_message(message.chat.id, "Готов принять ваш отзыв: ")
# устанавливаем следующий шаг обработки сообщения
bot.register_next_step_handler(msg, feedback_second) # передаем старое сообщение и функцию, в которой будем обрабатывать
def feedback_second(message):
bot.forward_message(owner_id, message.chat.id, message.message_id)
bot.send_message(message.chat.id, "Спасибо, отзыв был отправлен ")
if __name__ == '__main__':
bot.polling(none_stop = True)