Задать вопрос
@twink132

Как сделать чтобы чат-бот Telegram после публикации поста в канал добавлял комментарий в созданный пост?

Разрабатываю бот Telegram, который публикует заданный пользователем текст в канал в виде поста, пытаюсь сделать, чтобы бот после публикации поста, оставлял комментарий в этом же посту.
Делаю следующим образом:
@bot.message_handler(content_types=['photo', 'text'])
def echo(message):
    """отправка"""
    if message.chat.id < 0:
        return
    else:
        u = mapUser(message.from_user)
        user = fetchUser(u)
        if user is False:
            return
        channel = mrfToChannels[user.MRF]
        chat_id = channel.channel_chat_id
        commands = ["/start", "/Analytics", "/countusers", "/deleteme", "/deleteuser"]
        if message.text in commands:
            bot.send_message(message.chat.id,
                             "<b>ОШИБКА:</b> Отправка <b>команд для бота</b> в канал запрещена.",
                             parse_mode="HTML")
            bot.send_message(message.chat.id,
                             '''Попробуйте снова по следующей инструкции:\n'''
                             '''1. Введите команду <b>/start</b>, ожидайте сообщение-приветствие\n'''
                             '''2. Пишите свое обращение, приклепляйте фото по необходимости''',
                             parse_mode="HTML")
            return
        elif message.media_group_id:
            if message.media_group_id in mediagroups:
                return
            mediagroups.append(message.media_group_id)
            bot.send_message(message.chat.id,
                             '''<b>ОШИБКА</b>\n'''
                             '''Отправка больше 1-ого изображения в канал <b>ЗАПРЕЩЕНА</b>\n'''
                             '''из-за ограничений API Telegram''',
                             parse_mode='HTML')
            bot.send_message(message.chat.id,
                             "Попробуйте снова по следующей инструкции:\n"
                             "1. Введите команду <b>/start</b>, ожидайте сообщение-приветствие\n"
                             "2. Пишите свое обращение, прикрепите фото по необходимости, <b> НО НЕ БОЛЕЕ 1-го</b>\n"
                             "3. При наличии дополнительных фото прикрепите оставшиеся в комментарии к посту",
                             parse_mode='HTML')
            return
        else:
            if message.caption:
                text = "\n\nЗапрос от монтера - #"
                caption = message.caption + text + u.fullname().replace(" ", "_")
            else:
                caption = "\n\nЗапрос от монтера - #" + u.fullname().replace(" ", "_")
            if message.content_type == 'photo':
                if any(word in caption for word in f_words):
                    bot.send_message(message.chat.id,
                                     '''<b>Нецензурная лексика в постах запрещена!</b>\n'''
                                     '''Попробуйте еще раз по инструкции:\n'''
                                     '''1.Напишите /start в бот\n'''
                                     '''2.Изложите свое обращение в чат без <b>нецензурной лексики</b>'''
                                     '''и отправьте в бота''',
                                     parse_mode='HTML')
                    return
                else:
                    photo_id = message.photo[-1].file_id
                    sendedMessage = bot.send_photo(chat_id, photo_id, caption)
            elif message.content_type == 'text':
                if any(word in message.text.lower() for word in f_words):
                    bot.send_message(message.chat.id,
                                     '''<b>Нецензурная лексика в постах запрещена!</b>\n'''
                                     '''Попробуйте еще раз по инструкции:\n'''
                                     '''1.Напишите /start в бот\n'''
                                     '''2.Изложите свое обращение в чат <b>без нецензурной лексики</b>'''
                                     '''и отправьте в бота''',
                                     parse_mode='HTML')
                    return
                else:
                    sendedMessage = bot.send_message(chat_id,
                                                     message.text + "\n\nЗапрос от монтера - #" + u.fullname().replace(
                                                         " ", "_"))
<b>            # ДОБАВЛЕНИЕ КОММЕНТАРИЯ К ПОСТУ
            comment = "."
            bot.send_message(chat_id, comment, reply_to_message_id=sendedMessage.message_id)
            print(f'свойства сообщения {sendedMessage.message_id}')
</b>


Результат следующий:
64ab80372fa31193183753.png

Вопрос:
Как сделать, чтобы бот оставлял комментарий в только-что отправленном посте?
  • Вопрос задан
  • 569 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

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

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