Bot telegram menggunakan python – Fungsi Keyboard

Membuat Bot telegram menggunakan python – Fungsi Keyboard  , Fungsi keyboard di telegram ini lebih dikarenakan untuk resmi dan standarisasi.

Keyboard Telegram  terdiri dari 2 object yaitu keyboardButton dan InlineKeyboardButton, kita akan bahas satu persatu.

 KeyboardButton

Sebuah objek yang menyajikan sebuah jawaban yang kita tentukan, dari pada bingung yuk langsung ke codingnya.

Import dulu library yang dibutuhkan dan masukkan API bot yang kamu miliki

from telebot import TeleBot, types 
bot = TeleBot("Token miliki mu")

Jika belum tau cara mendapatkan API Bot Telegram baca disini , Bot Telegram menggunakan Python – Cara Setting Bot

@bot.message_handler(commands=['start'])

Membuat command start yang akan menjalankan fungsi start_handler

def start_handler(msg):

membuat fungsi start_handler

    markup = types.ReplyKeyboardMarkup()

membuat variable bernama markup dengan object keyboardButton

   markup.add(types.KeyboardButton(text='siapa saya?'))

menampilkan button dengan text “siapa saya?”

    markup.add(types.KeyboardButton(text='kirim nomor', request_contact=True))

menampilkan button dengan text “send phone”  yang akan mengirimkan nomor ke bot Telegram

    markup.add(types.KeyboardButton(text='Kirim Lokasi', request_location=True))

menampilkan button dengan text “send location’”  yang mengirimkan lokasi kamu

Bot akan mengirimkan teks hello ke user disertai dengan reply_markup sesuai fungsi start_handler

Selanjutnya jika content type yang dikirimkan berupa contact menjalankan fungsi contact_handler dan mengucapkan terima kasih

@bot.message_handler(content_types=['contact'])
def contact_handler(msg):
    bot.reply_to(msg, text='terima kasih untuk telpnya')

bot.polling()

Bot Telegram

Jika belum berhasil berikut kode Full Yang Ringkas Buat

from telebot import TeleBot, types

bot = TeleBot("Token Bot")


@bot.message_handler(commands=['start'])
def start_handler(msg):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    markup.add(types.KeyboardButton(text='siapa saya?'))
    markup.add(types.KeyboardButton(text='kirim nomor', request_contact=True))
    markup.add(types.KeyboardButton(text='Kirim Lokasi', request_location=True))

    bot.send_message(msg.from_user.id, text='hello', reply_markup=markup)


@bot.message_handler(content_types=['contact'])
def contact_handler(msg):

       bot.reply_to(msg, text='terima kasih untuk telpnya', reply_markup=types.ReplyKeyboardRemove())


bot.polling()

Selanjutnya kita akan membuat Inline Keyboard Button pada telegram bot menggunakan pyhton

InlineKeyboardButton

Inline Keyboard Button pada telegram bot menampilkan satu button pada satu bari inline keyboard

from telebot import TeleBot, types

bot = TeleBot("Token Miliki Mu")


# Labels and messages
WELCOME = 'Selamat Datang'
# end


@bot.message_handler(commands=['start'])
def social_medias(msg):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton(text='twitter', url='https://twitter.com'))
    markup.add(types.InlineKeyboardButton(text='hubungi saya', callback_data='contact_me'))
    markup.add(types.InlineKeyboardButton(text='switch inline', switch_inline_query='horse'))
    markup.add(types.InlineKeyboardButton(text='switch inline current chat', switch_inline_query_current_chat='panda'))
    bot.send_message(chat_id=msg.from_user.id, text=WELCOME, reply_markup=markup)


@bot.message_handler(regexp='panda')
def panda_handler(msg):
    bot.send_photo(msg.from_user.id, photo=open('pics/panda.jpg', 'rb'))


@bot.message_handler(regexp='horse')
def panda_handler(msg):
    bot.send_photo(msg.chat.id, photo=open('pics/horse.jpg', 'rb'))


@bot.callback_query_handler(func=lambda call: True)
def handler(call):
    print('we receive callback {}'.format(call.data))
    bot.send_message(call.from_user.id, text='support kami akan menghubungi anda')


bot.polling()

Bot Telegram

 

Demikian Semoga Membantu, Silakan tinggalkan pesan untuk pertanyaan.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.