def github_link_kb():
button0 = InlineKeyboardButton(text="Source code", url="https://github.com/DcSoK/ImgurPlus")
buttons_list = [[button0]]
keyboard = InlineKeyboardMarkup(buttons_list)
return keyboard
python类InlineKeyboardMarkup()的实例源码
def start(bot, update):
keyboard = [
[InlineKeyboardButton("Happy", callback_data='1'),
InlineKeyboardButton("Whatever", callback_data='2')],
[InlineKeyboardButton("Sad", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Hey there! How do you feel today?', reply_markup=reply_markup)
def generate_invitation(bot, update):
message = update.message
token = utils.generate_invitation()
link = 'https://telegram.me/%s?start=%s' % (bot.username, token)
share_link = 'https://telegram.me/share/url?url={0}&text=Click%20the%20link%20to%20join%20the%20teamspeak%20bot'.format(link)
keyboard = [[InlineKeyboardButton(_('Join'), url=link)],
[InlineKeyboardButton(_('Share link'), url=share_link)]]
reply_markup = InlineKeyboardMarkup(keyboard)
bot.sendMessage(message.chat_id, '?? ' + _('Welcome to TeamSpeak bot') + ' ??\n\n' +
_('This is an invitation to use the TeamSpeak bot'),
reply_markup=reply_markup)
def paginate_items(bot, update, chat_data, items, principal_property, backend_property, text, callback, additional_row=None):
message = update.effective_message
chat_id = message.chat_id
markup = []
first_message = bool(update.message)
page = chat_data[message.message_id]['pages'] if not first_message else 1
start = 10 * (page - 1) if page > 1 else 0
end = start + 10 if start + 10 < len(items) else len(items)
for i in range(start, end, 2):
item1 = items[i]
row = [InlineKeyboardButton(item1[principal_property],
callback_data='%s_DETAIL_%s' % (callback, str(item1[backend_property])))]
if i + 1 < len(items):
item2 = items[i + 1]
row.append(InlineKeyboardButton(item2[principal_property],
callback_data='%s_DETAIL_%s' % (callback, str(item2[backend_property]))))
markup.append(row)
markup = markup_append_pagination(bot, update, items, markup, page, callback)
if additional_row is not None:
markup.append(additional_row)
reply_markup = InlineKeyboardMarkup(markup)
if len(items) == 0:
text = _('No results')
if not first_message:
bot.edit_message_text(text, chat_id=chat_id, message_id=message.message_id, reply_markup=reply_markup,
parse_mode='Markdown')
else:
msg = bot.send_message(chat_id, text, disable_notification=True, reply_markup=reply_markup,
parse_mode='Markdown')
chat_data[msg.message_id] = dict()
chat_data[msg.message_id]['pages'] = page
def start(bot, update):
keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'),
InlineKeyboardButton("Option 2", callback_data='2')],
[InlineKeyboardButton("Option 3", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose:', reply_markup=reply_markup)
def cmd_settings(bot, update):
message = update.message
msg_parse(bot, update)
text = ""
keyboard = []
if message.chat.type == "private":
text = "Cosa vuoi impostare?"
keyboard += [[InlineKeyboardButton("Impostazioni globali", callback_data="settings.set.0"),
InlineKeyboardButton("Impostazioni per gruppo", callback_data="settings.groups")]]
keyboard += [[InlineKeyboardButton("Aiuto", callback_data="help.main")]]
keyboard += [[InlineKeyboardButton("Lascia un suggerimento", callback_data="feedback.leave"),
InlineKeyboardButton("Informazioni sviluppatore", callback_data="dev.info")]]
reply_markup = InlineKeyboardMarkup(keyboard)
bot.send_message(message.chat.id, markdown_to_html(text), reply_to_message_id=message.message_id, reply_markup=reply_markup, parse_mode=ParseMode.HTML)
def inline(bot, update): #Inline Handler & Parser
query = update.inline_query.query
if query is None:
query = 'rating:s'
client = Pybooru('Yandere')
posts = client.posts_list(tags=query, limit=50)
lposts = len(posts)
inlinequery = list()
reply_markup = InlineKeyboardMarkup([InlineKeyboardButton("More", callback_data='More')])
for post in posts:
inlinequery.append(InlineQueryResultPhoto(
type='photo',
id=uuid4(),
photo_url=post['file_url'],
photo_width=post['preview_width']*6,
photo_height=post['preview_height']*6,
#reply_markup=reply_markup,
thumb_url=post['preview_url']),)
bot.answerInlineQuery(update.inline_query.id, results=inlinequery, switch_pm_text="Help", switch_pm_parameter="ihelp")
inlinequery.clear()
else:
client = Pybooru('Yandere')
posts = client.posts_list(tags=query, limit=50)
lposts = len(posts)
inlinequery = list()
reply_markup = InlineKeyboardMarkup([InlineKeyboardButton("More", callback_data='More')])
for post in posts:
inlinequery.append(InlineQueryResultPhoto(
type='photo',
id=uuid4(),
photo_url=post['file_url'],
photo_width=post['preview_width']*6,
photo_height=post['preview_height']*6,
#reply_markup=reply_markup,
thumb_url=post['preview_url']),)
bot.answerInlineQuery(update.inline_query.id, results=inlinequery, switch_pm_text="Help", switch_pm_parameter="ihelp")
inlinequery.clear()
def idd(bot, update, tags=None, chat_id=None):
randomint = randint(1000, 10000000)
try:
bot.sendChatAction(chat_id, "upload_document")
tags = update.message.text.split(' ', 1)[1]
chat_id = update.message.chat_id
try:
client = Pybooru('Yandere')
posts = client.posts_list(tags="id:"+str(tags), limit=1)
for post in posts:
urllib.request.urlretrieve(post['file_url'], "tmp/anime_bot_" + str(randomint) + ".jpg")
tmp_data = "Uploader: " + post['author'] + "\nID: " + str(post['id'])
globalarray[chat_id] = dict(data=tmp_data)
photo = open('tmp/anime_bot_' + str(randomint) + ".jpg", 'rb')
reply_markup = InlineKeyboardMarkup([[InlineKeyboardButton("More", callback_data='More')]])
bot.sendDocument(chat_id, photo, reply_markup=reply_markup)
os.remove('tmp/anime_bot_' + str(randomint) + ".jpg")
except Exception as e:
print(e)
except:
bot.sendChatAction(chat_id, "upload_document")
client = Pybooru('Yandere')
try:
posts = client.posts_list(tags="id:"+str(tags), limit=1)
for post in posts:
urllib.request.urlretrieve(post['file_url'], "tmp/anime_bot_" + str(randomint) + ".jpg")
tmp_data = "Uploader: " + post['author'] + "\nID: " + str(post['id'])
globalarray[chat_id] = dict(data=tmp_data)
photo = open('tmp/anime_bot_' + str(randomint) + ".jpg", 'rb')
reply_markup = InlineKeyboardMarkup([[InlineKeyboardButton("More", callback_data='More')]])
bot.sendDocument(chat_id, photo, reply_markup=reply_markup)
os.remove('tmp/anime_bot_' + str(randomint) + ".jpg")
except Exception as e:
print(e)
def convert(self):
print(self.keyboard)
keyboard = [
[
(button if isinstance(button, Button) else Button(button)).convert()
for button in row
]
for row in self.keyboard
]
return InlineKeyboardMarkup(keyboard)
def list_alarms(self, bot, update):
keyboard = []
for i, job in enumerate(self.crontab.job_list()):
description = short_description(job).split(",")
icon = emojize(":bell:", use_aliases=True)
alarm_button = InlineKeyboardButton(icon, callback_data=build_callback(
{"command": "disable", "alarm": get_job_id(job)}))
if not job.enabled:
icon = emojize(":no_bell:", use_aliases=True)
alarm_button = InlineKeyboardButton(icon, callback_data=build_callback(
{"command": "enable","alarm": get_job_id(job)}))
icon = emojize(":x:", use_aliases=True)
delete_button = InlineKeyboardButton(icon, callback_data=build_callback(
{"command": "remove","alarm": get_job_id(job)}))
close = build_callback({"command": "close"})
if len(job) > 1:
keyboard.append([alarm_button, delete_button,
InlineKeyboardButton(description[0], callback_data=close),
InlineKeyboardButton(", ".join(description[1:]), callback_data=close)])
else:
keyboard.append([alarm_button, delete_button,
InlineKeyboardButton(description[0], callback_data=close)])
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Alarm list:', reply_markup=reply_markup)
return
def refresh_stdout_on_telegram():
old_lines = ''
# TODO add command buttons
reply_markup = InlineKeyboardMarkup([[InlineKeyboardButton('stop terminal',
callback_data=' s')]])
while term.is_started_real_terminal:
sleep(0.1)
if old_lines == term.text_stdout: # no changes...
continue
old_lines = term.text_stdout
bot_.edit_message_text(chat_id=last_chat_id,
message_id=last_message_id,
text=old_lines+'_',
reply_markup=reply_markup)
def start(bot, update):
keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'),
InlineKeyboardButton("Option 2", callback_data='2')],
[InlineKeyboardButton("Option 3", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)
bot.sendMessage(update.message.chat_id, text="Please choose:", reply_markup=reply_markup)
def types_cmd(bot, update, **args):
reply_markup = InlineKeyboardMarkup(types_button_list)
text = '????? ???? ?????? ????????? ??????? ?????????.\n' \
'?? ?????? ??????? ????? ?? ??? ??? ????????? ?????????????? ??????????:'
bot.sendMessage(chat_id=update.message.chat_id, reply_markup=reply_markup, text=text)
# bot.sendMessage(chat_id=update.message.chat.id, text=u'?????????? ?????? ??????? ????????? ? ???????????: \n' + find_types())
def key_a(bot, update):
keyboard = [[InlineKeyboardButton("Continuar la descarga", callback_data='Ax'),InlineKeyboardButton("Cancelar", callback_data='Ay')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
update.message.reply_text('¿Continuar con la descarga?',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2)
def key_aen(bot,update):
keyboard = [[InlineKeyboardButton("Continue download", callback_data='Ax'),InlineKeyboardButton("Cancell", callback_data='Ay')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Do you want to continue with the download?',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2)
def key_l(bot, update):
keyboard = [[InlineKeyboardButton("Español ????", callback_data='es'),InlineKeyboardButton("English ????", callback_data='en')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Elige tu idioma / choose your language:',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2)
def key_l(bot, update,chat_id):
keyboard = [[InlineKeyboardButton("Español ????", callback_data='es'),InlineKeyboardButton("English ????", callback_data='en')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
bot.sendMessage(text='Elige tu idioma / choose your language:',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2, chat_id=chat_id)
def key_l2(bot, update,chat_id):
keyboard = [[InlineKeyboardButton("Español ????", callback_data='castell'),InlineKeyboardButton("English ????", callback_data='glish')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
bot.sendMessage(text='Elige tu idioma / choose your language:',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2, chat_id=chat_id)
def key_osen(bot, update,chat_id):
keyboard = [[InlineKeyboardButton("Android - W. Phone ??", callback_data='droiden'),InlineKeyboardButton("iOS ??", callback_data='iosen')]]
reply_markup2 = InlineKeyboardMarkup(keyboard)
bot.sendMessage(text='What is your operative system? _(only smartphones; this option is irrelevant for PC users)_',
parse_mode=telegram.ParseMode.MARKDOWN, reply_markup=reply_markup2,chat_id=chat_id)