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()
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()
Demikian Semoga Membantu, Silakan tinggalkan pesan untuk pertanyaan.