你好,我有一个关于telebot的问题。
我试图按照官方文档中的解释来做,但是他们使用了一个叫做chat_id的变量(我知道它是什么),我愿意知道如何检索并使用它。
奖励:如何让键盘上的按键向用户发送消息来激活功能.解释一下更好。用户按下键盘上的按钮,然后发送一个命令(比如it_lang),然后使用命令处理函数来做一些事情。
docs: https:/github.cometernnoirpyTelegramBotAPI。
import telebot
from telebot import types
from config import TOKEN, bot_is_active
bot = telebot.TeleBot(TOKEN)
if bot_is_active :
u/bot.message_handler(commands=['start'])
def choose_lang(message):
markup = types.ReplyKeyboardMarkup()
it_btn = types.KeyboardButton('IT')
en_btn = types.KeyboardButton('EN')
markup.row(it_btn)
markup.row(en_btn)
bot.send_message(chat_id, "Please choose a language:", reply_markup=markup)
bot.polling()
else:
u/bot.message_handler(commands=['start'])
def choose_lang(message):
bot.reply_to(message, "I'm sorry the bot is no available,try later")
bot.polling()
如果我的理解是正确的。
cid = message.chat.id
所有的信息都是你能得到的:
@bot.message_handler(commands=['start'])
def start(message):
print(message)
UPD:
bot = telebot.TeleBot('Token')
keyboard1 = telebot.types.ReplyKeyboardMarkup()
keyboard1.row('IT', 'ENG')
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Hello, i reveive /start', reply_markup=keyboard1)
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text.lower() == 'it':
bot.send_message(message.chat.id, 'Your language is IT')
<do something>
elif message.text.lower() == 'eng':
bot.send_message(message.chat.id, 'Your language is ENG')
<do something>