# И тут текст, благодаря которому отправляется команда
это называется вызов функции.
Что-бы работало так, как ты хочешь, нужны некоторые корректировки кода.
вместо
bot.send_message(message.chat.id, f"? Your ID: {id}")
нужно
bot.send_message(message.from_user.id, f"? Your ID: {id}")
Вот полный рабочий код
import telebot # pyTelegramBotAPI
from telebot import types
bot = telebot.TeleBot("Вставить токен твоего бота")
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.from_user.id, "Делайте выбор, господа!", reply_markup=inline1())
@bot.message_handler(commands=["id"])
def id(message):
id = message.from_user.id
bot.send_message(message.from_user.id, f"? Your ID: {id}")
def inline1():
kbd = types.InlineKeyboardMarkup()
i1 = types.InlineKeyboardButton("Показать мой ID", callback_data='id')
kbd.add(i1)
return kbd
@bot.callback_query_handler(func=lambda call: True)
def callback_message(callback):
if callback.data == 'id': # Телеграм вернул нам, что нажата кнопка 'Первая'
#Вызываем функцию ID
id(callback)
# Подтверждаем серверу телеграм, что обработали нажатие кнопки
# Иначе на кнопке будут долго висеть "часики"
bot.answer_callback_query(callback_query_id=callback.id, show_alert=False)
bot.polling(none_stop=True)
Как можно сделать, чтобы в callback перенаправляло на команду?
Пример:
Сама команда (если требуется):
Очень надо, помогите пожалуйста