@Nerixcas

Как отобразить username человека в telebot?

import telebot
from telebot import types

# configs

CHANELL_ID = "-1001425938617"
API_TOKEN = "5459202062:AAHZYqJQmG4e173G9JK-1l-GcOmLBY7hHxo"
bot = telebot.TeleBot(API_TOKEN)



# command_handler

@bot.message_handler(commands=['start'])
def starting(message):
    markup = types.InlineKeyboardMarkup()
    item_zakaz = types.InlineKeyboardButton(text='Сделать заказ', callback_data='zakaz')
    item_price = types.InlineKeyboardButton(text='Прайс', callback_data='price')
    item_dop = types.InlineKeyboardButton(text='Доп.Информация', callback_data='dop_inf')
    markup.add(item_zakaz, item_price, item_dop)
    bot.send_message(message.chat.id,
                     'Вас приветствует бот, снизу вы можете сделать заказ. И узнать важную информацию. (Что-бы отобразить сообщение снова, напишите "/start")',
                     reply_markup=markup)


# final

@bot.callback_query_handler(func=lambda call: True)
def callback(call):
    if call.message:
        if call.data == "price":
            bot.send_message(call.message.chat.id, "Аватарка: ,"
                                                   " Шапка: ,"
                                                   " Превью: .")

        elif call.data == "dop_inf":
            bot.send_message(call.message.chat.id, "За доп.информацией, обращайтесь к @")

        elif call.data == "zakaz":
            usname = call.message.from_user.username
            bot.send_message(CHANELL_ID,"Новый заказ:" + "@" + usname)
            bot.send_message(call.message.chat.id, "Ваша заявка была успешно отправлена, ожидайте ответа менеджера.")
bot.polling(none_stop=True, interval=0)

Что делать если пользователь нажимает кнопку "zakaz" то всё работает, но берётся не юзернейм пользователя. А берётся юзернейм бота, и пишется только его юзнейм, взаместо имени пользователя.
62a5b001b360a563140373.png
  • Вопрос задан
  • 285 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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