add Zen of Python to inline query
This commit is contained in:
+42
-8
@@ -1,5 +1,4 @@
|
|||||||
import telebot
|
import telebot
|
||||||
from telebot import util
|
|
||||||
from flask import Flask, request, abort
|
from flask import Flask, request, abort
|
||||||
from datetime import datetime as dt
|
from datetime import datetime as dt
|
||||||
from os.path import exists
|
from os.path import exists
|
||||||
@@ -11,12 +10,29 @@ from .config import bot, ADMIN_ID, TOKEN
|
|||||||
from . import reminder
|
from . import reminder
|
||||||
|
|
||||||
# https://core.telegram.org/bots/api Telegram Bot API
|
# https://core.telegram.org/bots/api Telegram Bot API
|
||||||
|
# https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
print(">>> LutzBot is running! <<<")
|
print(">>> LutzBot is running! <<<")
|
||||||
|
|
||||||
|
zen_rows = """Beautiful is better than ugly.
|
||||||
|
Explicit is better than implicit.
|
||||||
|
Simple is better than complex.
|
||||||
|
Complex is better than complicated.
|
||||||
|
Flat is better than nested.
|
||||||
|
Sparse is better than dense.
|
||||||
|
Readability counts.
|
||||||
|
Special cases aren't special enough to break the rules. Although practicality beats purity.
|
||||||
|
Errors should never pass silently. Unless explicitly silenced.
|
||||||
|
In the face of ambiguity, refuse the temptation to guess.
|
||||||
|
There should be one-- and preferably only one --obvious way to do it.
|
||||||
|
Now is better than never. Although never is often better than *right* now.
|
||||||
|
If the implementation is hard to explain, it's a bad idea.
|
||||||
|
If the implementation is easy to explain, it may be a good idea.
|
||||||
|
Namespaces are one honking great idea -- let's do more of those!""".split('\n')
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['rules'])
|
@bot.message_handler(commands=['rules'])
|
||||||
def send_lutz_command(message):
|
def send_lutz_command(message):
|
||||||
@@ -27,6 +43,7 @@ def send_lutz_command(message):
|
|||||||
)
|
)
|
||||||
logging(message)
|
logging(message)
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['faq'])
|
@bot.message_handler(commands=['faq'])
|
||||||
def send_lutz_command(message):
|
def send_lutz_command(message):
|
||||||
bot.send_message(message.chat.id,
|
bot.send_message(message.chat.id,
|
||||||
@@ -36,6 +53,7 @@ def send_lutz_command(message):
|
|||||||
)
|
)
|
||||||
logging(message)
|
logging(message)
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['lutz'])
|
@bot.message_handler(commands=['lutz'])
|
||||||
def send_lutz_command(message):
|
def send_lutz_command(message):
|
||||||
bot.send_document(
|
bot.send_document(
|
||||||
@@ -79,9 +97,12 @@ def send_log(message):
|
|||||||
bot.send_message(ADMIN_ID, f'<code>{text}</code>', parse_mode='html')
|
bot.send_message(ADMIN_ID, f'<code>{text}</code>', parse_mode='html')
|
||||||
|
|
||||||
|
|
||||||
@bot.inline_handler(lambda query: len(query.query) == 0)
|
|
||||||
|
|
||||||
|
|
||||||
|
@bot.inline_handler(lambda query: len(query.query) == 'b')
|
||||||
def default_query(inline_query):
|
def default_query(inline_query):
|
||||||
"""Inline Aricles"""
|
"""Inline Books"""
|
||||||
lutz_rus = telebot.types.InlineQueryResultCachedDocument(
|
lutz_rus = telebot.types.InlineQueryResultCachedDocument(
|
||||||
id='44', title='📕 Изучаем Python 🇷🇺',
|
id='44', title='📕 Изучаем Python 🇷🇺',
|
||||||
document_file_id='BQACAgIAAxkBAAIBcGLHE2ryQewEP1ddXOd_jF3OOHUfAAISIAACaOk4SissgGKstQbqKQQ',
|
document_file_id='BQACAgIAAxkBAAIBcGLHE2ryQewEP1ddXOd_jF3OOHUfAAISIAACaOk4SissgGKstQbqKQQ',
|
||||||
@@ -103,7 +124,7 @@ def default_query(inline_query):
|
|||||||
)
|
)
|
||||||
|
|
||||||
lutz = telebot.types.InlineQueryResultDocument(
|
lutz = telebot.types.InlineQueryResultDocument(
|
||||||
id='1', title='📕 Learning Python ⭐️',
|
id='77', title='📕 Learning Python ⭐️',
|
||||||
document_url='https://fk7.ru/books/OReilly.Learning.Python.5th.Edition.pdf',
|
document_url='https://fk7.ru/books/OReilly.Learning.Python.5th.Edition.pdf',
|
||||||
description='Mark Lutz, 5th Edition',
|
description='Mark Lutz, 5th Edition',
|
||||||
caption="""<i><b>Learning Python</b>, 5th Edition</i>
|
caption="""<i><b>Learning Python</b>, 5th Edition</i>
|
||||||
@@ -114,7 +135,7 @@ def default_query(inline_query):
|
|||||||
thumb_url='https://fk7.ru/books/OReilly.Learning.Python.5th.Edition.jpg', )
|
thumb_url='https://fk7.ru/books/OReilly.Learning.Python.5th.Edition.jpg', )
|
||||||
|
|
||||||
matthes = telebot.types.InlineQueryResultDocument(
|
matthes = telebot.types.InlineQueryResultDocument(
|
||||||
id='2', title='📕 Python Crash Course',
|
id='88', title='📕 Python Crash Course',
|
||||||
document_url='https://fk7.ru/books/PythonCrashCourse.pdf',
|
document_url='https://fk7.ru/books/PythonCrashCourse.pdf',
|
||||||
description='Eric Matthes, 2th Edition',
|
description='Eric Matthes, 2th Edition',
|
||||||
caption="""<i><b>Python Crash Course</b>, 2th Edition</i>
|
caption="""<i><b>Python Crash Course</b>, 2th Edition</i>
|
||||||
@@ -126,7 +147,22 @@ def default_query(inline_query):
|
|||||||
|
|
||||||
bot.answer_inline_query(
|
bot.answer_inline_query(
|
||||||
inline_query.id, [lutz, matthes, lutz_rus, matthes_rus],
|
inline_query.id, [lutz, matthes, lutz_rus, matthes_rus],
|
||||||
cache_time=10)
|
cache_time=12)
|
||||||
|
|
||||||
|
|
||||||
|
@bot.inline_handler(lambda query: True)
|
||||||
|
def default_query(inline_query):
|
||||||
|
"""Inline Texts"""
|
||||||
|
zen = []
|
||||||
|
for id_p, phrase in enumerate(zen_rows):
|
||||||
|
if inline_query.query.casefold() in phrase.casefold():
|
||||||
|
zen.append(telebot.types.InlineQueryResultArticle(
|
||||||
|
f"{id_p + 7000}", phrase, telebot.types.InputTextMessageContent(
|
||||||
|
f"<i>{phrase}</i>", parse_mode='HTML'), description=f'The Zen of Python #{id_p + 1}'))
|
||||||
|
|
||||||
|
bot.answer_inline_query(
|
||||||
|
inline_query.id, zen,
|
||||||
|
cache_time=12)
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(content_types=['document'])
|
@bot.message_handler(content_types=['document'])
|
||||||
@@ -171,8 +207,6 @@ def list_jobs(message):
|
|||||||
|
|
||||||
@app.route(f"/bot{TOKEN}/", methods=['POST'])
|
@app.route(f"/bot{TOKEN}/", methods=['POST'])
|
||||||
def webhook():
|
def webhook():
|
||||||
""" Set webhook. """
|
|
||||||
bot.set_webhook(f'https://fk7.ru/bot{TOKEN}/', allowed_updates=util.update_types)
|
|
||||||
""" Parse POST requests from Telegram. """
|
""" Parse POST requests from Telegram. """
|
||||||
if request.headers.get('content-type') == 'application/json':
|
if request.headers.get('content-type') == 'application/json':
|
||||||
json_string = request.get_data().decode('utf-8')
|
json_string = request.get_data().decode('utf-8')
|
||||||
|
|||||||
Reference in New Issue
Block a user