Инструменты пользователя

Инструменты сайта


develop:telegram

Это старая версия документа!


Telegram

Бот

Дока

В поле «chat_id» пишется ID чата/канала/пользователя. Минусом предваряется ИД канала, простой чат без минуса. Личка пользователя доступна по его ИД (это не имя пользователя, можно узнать через бота «@userinfobot»)

:!: Минимальный бот
#!/usr/bin/python3.8
import requests
 
token ='123456789:aaaaaaaaaaaa'
url = f'https://api.telegram.org/bot{token}/sendMessage'
data = {'chat_id': '123321', 'text': 'this is message'}
 
answer = requests.post(url, data).json()
print(str(answer))
  # Простая отправка сообщения:
curl -s -X POST https://api.telegram.org/bot1074186011:AAAAAAAAA/sendMessage -d chat_id="-7511111" -d text="Hallo Warld"
 
  # Изменить сообщение:
curl -s -X POST https://api.telegram.org/bot1074186011:AAAAAAAAA/editMessageText -d chat_id="-7511111" -d message_id="100921" -d text="Hello World"

inline_keyboard

Дока
Кнопки «Обратного вызова», под сообщением, прикрепляются к сообщению отдельным объектом, можно как отправлять с новым сообщением так и добавлять при редактировании сообщения
Непосредственно кнопки это элементы объекта «InlineKeyboardButton»

После того как пользователь выбирает такую кнопку, висит ожидание, в коде нужно вызвать метод «answerCallbackQuery» для продолжения
Базовые методы для ответов

:!: Code
  # Класс кнопки
InlineKeyboardButton(
  text,
  url = NULL,
  callback_data = NULL,
  switch_inline_query = NULL,
  switch_inline_query_current_chat = NULL
)
 
  #
 
 
  #
 
 
  #
 
 
  #

Reply Keyboard Markup

Простой пример с ботом и кнопки в т.ч.
Этот тип кнопок добавляется справа в поле ввода, по аналогии с меню командами
Ну и кстати говоря они видимо глобальные

:!: Code
  # Устанавливаем кнопку при отправке сообщения
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("action")
markup.add(item1)
 
bot.send_message(message.chat.id, "--=Приветствие=--", reply_markup = markup)
 
  #
 
 
  #
develop/telegram.1669638743.txt.gz · Последнее изменение: 2022/11/28 12:32 — admin