mirror of
https://github.com/civsocit/olgram.git
synced 2025-12-17 11:56:17 +00:00
"interrupt threads" option
This commit is contained in:
@@ -114,6 +114,11 @@ async def always_second_message(bot: Bot, call: types.CallbackQuery):
|
||||
await bot.save(update_fields=["enable_always_second_message"])
|
||||
|
||||
|
||||
async def thread_interrupt(bot: Bot, call: types.CallbackQuery):
|
||||
bot.enable_thread_interrupt = not bot.enable_thread_interrupt
|
||||
await bot.save(update_fields=["enable_thread_interrupt"])
|
||||
|
||||
|
||||
async def olgram_text(bot: Bot, call: types.CallbackQuery):
|
||||
if await bot.is_promo():
|
||||
bot.enable_olgram_text = not bot.enable_olgram_text
|
||||
|
||||
@@ -178,6 +178,12 @@ async def send_bot_settings_menu(bot: Bot, call: types.CallbackQuery):
|
||||
operation="always_second_message",
|
||||
chat=empty))
|
||||
)
|
||||
keyboard.insert(
|
||||
types.InlineKeyboardButton(text=_("Прерывать поток"),
|
||||
callback_data=menu_callback.new(level=3, bot_id=bot.id,
|
||||
operation="thread_interrupt",
|
||||
chat=empty))
|
||||
)
|
||||
is_promo = await bot.is_promo()
|
||||
if is_promo:
|
||||
keyboard.insert(
|
||||
@@ -196,13 +202,15 @@ async def send_bot_settings_menu(bot: Bot, call: types.CallbackQuery):
|
||||
info_turn = _("включены") if bot.enable_additional_info else _("выключены")
|
||||
antiflood_turn = _("включен") if bot.enable_antiflood else _("выключен")
|
||||
enable_always_second_message = _("включён") if bot.enable_always_second_message else _("выключен")
|
||||
thread_interrupt = _("да") if bot.enable_thread_interrupt else _("нет")
|
||||
text = dedent(_("""
|
||||
<a href="https://olgram.readthedocs.io/ru/latest/options.html#threads">Потоки сообщений</a>: <b>{0}</b>
|
||||
<a href="https://olgram.readthedocs.io/ru/latest/options.html#user-info">Данные пользователя</a>: <b>{1}</b>
|
||||
<a href="https://olgram.readthedocs.io/ru/latest/options.html#antiflood">Антифлуд</a>: <b>{2}</b>
|
||||
<a href="https://olgram.readthedocs.io/ru/latest/options.html#always_second_message">Автоответчик всегда</a>: <b>{3}
|
||||
<a href="https://olgram.readthedocs.io/ru/latest/options.html#thread_interrupt">Прерывать поток</a>: <b>{4}
|
||||
</b>
|
||||
""")).format(thread_turn, info_turn, antiflood_turn, enable_always_second_message)
|
||||
""")).format(thread_turn, info_turn, antiflood_turn, enable_always_second_message, thread_interrupt)
|
||||
|
||||
if is_promo:
|
||||
olgram_turn = _("включена") if bot.enable_olgram_text else _("выключена")
|
||||
@@ -535,6 +543,9 @@ async def callback(call: types.CallbackQuery, callback_data: dict, state: FSMCon
|
||||
if operation == "always_second_message":
|
||||
await bot_actions.always_second_message(bot, call)
|
||||
return await send_bot_settings_menu(bot, call)
|
||||
if operation == "thread_interrupt":
|
||||
await bot_actions.thread_interrupt(bot, call)
|
||||
return await send_bot_settings_menu(bot, call)
|
||||
if operation == "olgram_text":
|
||||
await bot_actions.olgram_text(bot, call)
|
||||
return await send_bot_settings_menu(bot, call)
|
||||
|
||||
Reference in New Issue
Block a user