M
M
MMAI2021-02-15 19:19:23
Python
MMAI, 2021-02-15 19:19:23

Adding a command to telegram bot buttons?

You need to add buttons with actions, for example, so that when you click on make a deal, the function go

import telebot
from telebot import types is called

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)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
8
8wind8, 2021-02-15
@8wind8

First, write/import this function (go).
Here is the code that will call it as a reaction to the message:

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

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question