Как получить сообщение, на которое ответил пользователь?
Мне нужно получить сообщение на которое ответил пользователь, но нужно передавать переменную сообщения на которое отвечено, если оно является постом в канале.
# Получить ID поста (опционально) post_id = None if message.reply_to_message: reply_to_message_id = message.reply_to_message.message_id # Получить информацию о сообщении, на которое отвечает пользователь reply_to_message = bot.get_message(message.chat.id,reply_to_message_id) # Проверить, является ли сообщение постом в канале if reply_to_message.chat.type == "channel": post_id = reply_to_message_id |
# Получить ID поста (опционально) post_id = None if message.reply_to_message: reply_to_message_id = message.reply_to_message.message_id # Получить информацию о сообщении, на которое отвечает пользователь reply_to_message = bot.get_message(message.chat.id,reply_to_message_id) # Проверить, является ли сообщение постом в канале if reply_to_message.chat.type == "channel": post_id = reply_to_message_id
Основная проблема в этом: AttributeError: 'TeleBot' object has no attribute 'get_message'. Did you mean: 'send_message'?
Дополнительно:
Ответы:
А зачем ты делаешь get_message(), если message.reply_to_message уже должен содержать информацию о сообщении, на которое был сделан ответ?
- Мне нужно проверять его, является ли оно сообщением из канала.
- yann1nnn, перечитай мой ответ внимательно.
Можно ли сделать сразу message.reply_to_message.chat.type?
message.reply_to_message - уже сообщение.
Можно сразу получить тип чата этого сообщения и сделать проверку условием:
if message.reply_to_message.chat.type == 'channel': #ваш код |
if message.reply_to_message.chat.type == 'channel': #ваш код
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы получить сообщение, на которое ответил пользователь, можно воспользоваться следующим способом. Во-первых, необходимо убедиться, что у вас есть доступ к базе данных, где хранятся сообщения пользователей и ответы на них.
Далее, вам нужно определить уникальный идентификатор сообщения, на которое пользователь ответил. Этот идентификатор может быть, например, ID сообщения в базе данных или любой другой уникальный ключ.
Пример кода на PHP:
// Предположим, что у нас есть база данных $db // И уникальный идентификатор сообщения, на которое пользователь ответил, равен $messageId // Получаем сообщение, на которое ответил пользователь $query = "SELECT * FROM messages WHERE id = $messageId"; $result = $db->query($query); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $message = $row['message']; echo $message; } } else { echo "Сообщение не найдено"; }
В данном примере мы используем SQL запрос для выборки сообщения из базы данных по его уникальному идентификатору. Затем мы выводим это сообщение на экран.
Таким образом, вы можете получить сообщение, на которое пользователь ответил, используя базу данных и уникальный идентификатор сообщения. Не забудьте подставить свои значения переменных и проверить корректность работы кода перед использованием в реальном проекте.