from gettext import gettext as _
>>> s="ляляля"
>>> type(s)
<class 'str'>
>>> s.encode()
b'\xd0\xbb\xd1\x8f\xd0\xbb\xd1\x8f\xd0\xbb\xd1\x8f'
>>> type(s.encode())
<class 'bytes'>
<div>пример!</div>
<img src="placeholder-pixel.png data-src="фактический адрес" class="... easingslider-lazy" />
# http://jumpcut.blog instant view template
~version: "2.1"
?path: .*
site_name: //title
body: //main
#убираем лишние тэги вокруг img
<figure>: $body//h2[.//img]
<figure>: $body//p[.//img]
<figure>: $body//a[.//img]
<figure>: $body//footer[.//img]
# исправляем lazy load картинки
@set_attr(src, ./@data-src): //img[has-class("easingslider-lazy")]
# убираем навигацию
@remove: //nav
@bot.message_handler(...)
def process_first_step(message):
...
bot.register_next_step_handler(msg, process_second_step)
def process_second_step(message):
...
bot.register_next_step_handler(msg, process_final_step)
def process_final_step(message):
...
bot.clear_step_handler(msg)
user_categories = {}
...
# перед показом юзеру менюшки с категориями инициализируем его категории
user_categories[user_id] = []
...
# в коде генерации клавиатуры
for key, value in d.items():
if key in user_gategories[user_id]:
mark = "✓"
action = "-"
else:
mark = ""
action = "+"
search.insert(InlineKeyboardButton(value+mark, callback_data=cearch_callback.new(cat_name=key, action=action)))
...
# в коде коллбэка:
if action == "+":
user_categories[call.from_user.id].append(cat_name)
elif action == "-":
user_categories[call.from_user.id].remove(cat_name)
else:
raise BaseException("OOPS wrong action value")
keyboard = функция_генерации_клавиатуры()
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="текст", reply_markup=keyboard)