@iliaaaaaaaaaaaaaa

Где нужно указать chat_id?

Есть код. Вроде как указал chat_id = '' (чтобы бот переотправлял сообщение пользователю по chat_id), но ничего не работает и бот пересылает сообщения только мне
import config
import telebot
from telebot import types

bot = telebot.TeleBot(config.TOKEN)


chat_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(chat_id=message.chat.id, from_chat_id=message.chat.id, message_id=message.message_id)
    bot.send_message(message.chat.id, "Спасибо, отзыв был отправлен ")
   

    
if __name__ == '__main__':
    bot.polling(none_stop = True)
  • Вопрос задан
  • 871 просмотр
Решения вопроса 1
@twistfire92
Python backend developer
вы создали переменную

chat_id = ''

Я так понимаю, что вместо пустой строки там указан реальный ID.
но где вы его используете?

Здесь вы явно пересылаете сообщение самому себе, указав в "получателе" чат из которого пришло сообщение.
bot.forward_message(chat_id=message.chat.id ...

Попробуйте вместо этого так:
bot.forward_message(chat_id=chat_id ...

Или прям в этой функции указать чат куда надо переслать сообщение. Тогда переменная chat_id, объявленная вначале вообще не нужна.
bot.forward_message(chat_id='1234567890' ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Metallizer10
Добрый день! Я, конечно, ни разу не сталкивался с написанием ботов, но зачем ты вообще определяешь переменную chat_id, если ты её не используешь?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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