@MMAI

Добавление команды в кнопки телеграм бот?

Надо добавить кнопки с действиями, например чтобы при нажатии на провести сделку вызывалась функция go

import telebot
from telebot import types

bot=telebot.TeleBot('')
@bot.message_handler(commands=['start'])
def start(message):
    markup=types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
    btn1=types.KeyboardButton(' Провести сделку')
    btn2=types.KeyboardButton(' Мои сделки')
    # btn3=types.KeyboardButton(' Мои сделки')
    btn3 = types.KeyboardButton(' Помощь')
    # btn7=types.KeyboardButton('♻В начало')
    markup.add(btn1,btn2,btn3)
    bot.send_message(message.chat.id,'Добро пожаловать на Funpay AutoGarant, приятных сделок '+message.from_user.first_name,reply_markup=markup)

@bot.message_handler(commands=['go'])
def menu(message):
    markup_inline = types.InlineKeyboardMarkup()
    item_yes = types.InlineKeyboardButton(text = 'Принять', callback_data = 'yes')
    item_no = types.InlineKeyboardButton(text = 'Отказаться', callback_data = 'no')
    bot.send_message(message.chat.id, 'Доброго времени суток, вы желаете провести сделку?')
    bot.send_message(message.chat.id, 'Введите TelegramID пользователя с кем хотите провести сделку, далее нажмите "Принять" или "Отказаться" ')
    markup_inline.add(item_yes, item_no)
    bot.send_message(message.chat.id, 'Сделайте выбор', reply_markup=markup_inline)

def send_text(message):
    if message.text == ' Провести сделку':
        bot.send_message(message.chat.id,go())


@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.data == 'yes':
        markup_inline = types.InlineKeyboardMarkup()
        btn_my_site = types.InlineKeyboardButton(text='Передать предмет', url='https://steamcommunity.com/tradeoffer/new/?partner=73601843&token=b-x64LSH')
        markup_inline.add(btn_my_site)
        bot.send_message(call.message.chat.id, 'Для начала отправьте на нашего трейд-бота предмет',reply_markup=markup_inline)                                                                                                                           
    elif call.data == 'no':
        bot.send_message(call.message.chat.id, 'Ваш выбор - Отказаться')
        # bot.edit_message_text('Ваш выбор - Отказаться', call.message.chat.id, call.message.message_id)
if __name__=="__main__":

    bot.polling(none_stop=True)
  • Вопрос задан
  • 373 просмотра
Пригласить эксперта
Ответы на вопрос 1
8wind8
@8wind8
Для начала напиши/импортируй эту функцию(go).

Вот код который вызовет её как реакцию на сообщение:
def send_text(message):
    if message.text =='Провести сделку':
        bot.send_message(message.chat.id,go())
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы