Message
kiMessage- это класс, который создаётся TelegramBotAPI при получении сообщений. Когда пользователь отправляет сообщение боту, Telegram API создаёт класс из данных сообщения.
Давайте посмотрим что там находится, и научится извлекать данные из message.
Для этого создадим примитивного бота, который отправит нам данные message:
import telebot from telebot import types #используйте токен выданный BotFather TOKEN ="914523141:AAG51M9RB51O-zcop7uFb88QaOvwCHrGcoU" bot = telebot.TeleBot(TOKEN) @bot.message_handler(content_types=['text']) def mes(message): bot.send_message(message.chat.id,message) bot.polling(none_stop=True)
Вот, что из это получилось, на наше текстовое сообщение, бот отправил объект message:
В этом объекте находится информация отправленного сообщения:
тип сообщения, id-сообщения, данные аккаунта с которого было отправлено сообщение, и другая полезная информация.
Получение данных из message:
message.from_user - данные пользователя. Для наглядности отправим их с помощью бота:
bot.send_message(message.chat.id,message.from_user)
Вот, что мы получили.
Как видим у from_user есть несколько пар ключ-значение. Из from_user возможно извлечь интересующие нас данные:
message.from_user.id # id-пользователя message.from_user.first_name # имя пользователя message.from_user.username # логин пользователя и т.д.
message.chat - данные чата
message.chat.type # Тип чата. Типы чатов: «частный», «групповой», «супергруппа» или «канал». message.chat.username # логин пользователя message.chat.id # id-чата и т.д.
По аналогии можно извлекать и другие данные из message:
message.content_type # тип сообщения message.message_id # id-сообщения message.text # текст сообщения и т.д.