Spoiler can't be empty now

This commit is contained in:
Profitroll 2023-03-12 20:02:49 +01:00
parent cb3a975303
commit 2dc6a54299
4 changed files with 34 additions and 58 deletions

View File

@ -109,14 +109,12 @@
"spoiler_started": "Розпочато створення спойлера. Будь ласка, оберіть категорію спойлера за допомогою клавіатури бота.", "spoiler_started": "Розпочато створення спойлера. Будь ласка, оберіть категорію спойлера за допомогою клавіатури бота.",
"spoiler_unfinished": "У вас ще є незавершений спойлер. Надішліть /cancel щоб зупинити його створення", "spoiler_unfinished": "У вас ще є незавершений спойлер. Надішліть /cancel щоб зупинити його створення",
"spoiler_cancel": "Створення спойлера було припинено", "spoiler_cancel": "Створення спойлера було припинено",
"spoiler_empty": "Спойлер категорії \"{0}\" без опису",
"spoiler_empty_named": "Спойлер категорії \"{0}\" без опису від **{1}**",
"spoiler_described": "Спойлер категорії \"{0}\": {1}", "spoiler_described": "Спойлер категорії \"{0}\": {1}",
"spoiler_described_named": "Спойлер категорії \"{0}\" від **{1}**: {2}", "spoiler_described_named": "Спойлер категорії \"{0}\" від **{1}**: {2}",
"spoiler_description_enter": "Добре, введіть бажаний опис спойлера", "spoiler_description_enter": "Добре, введіть бажаний опис спойлера",
"spoiler_description_too_long": "Текст занадто довгий. Будь ласка, умісти опис у 1024 символи.", "spoiler_description_too_long": "Текст занадто довгий. Будь ласка, умісти опис у 1024 символи.",
"spoiler_using_description": "Встановлено опис спойлера: {0}\n\nЗалишилось додати вміст самого спойлера. Бот приймає текстове повідомлення, фото, відео, файл а також гіф зображення (1 шт.)", "spoiler_using_description": "Встановлено опис спойлера: {0}\n\nЗалишилось додати вміст самого спойлера. Бот приймає текстове повідомлення, фото, відео, файл а також гіф зображення (1 шт.)",
"spoiler_send_description": "Тепер треба надіслати коротенький опис спойлера, щоб люди розуміли що під ним варто очкувати. Надішли мінус (-) щоб пропустити цей крок.", "spoiler_send_description": "Тепер треба надіслати коротенький опис спойлера, щоб люди розуміли що під ним варто очкувати.",
"spoiler_ready": "Успіх! Спойлер створено", "spoiler_ready": "Успіх! Спойлер створено",
"spoiler_send": "Користуйтесь кнопкою нижче щоб надіслати його.", "spoiler_send": "Користуйтесь кнопкою нижче щоб надіслати його.",
"spoiler_incorrect_content": "Бот не підтримує такий контент. Будь ласка, надішли текст, фото, відео, файл або анімацію (гіф).", "spoiler_incorrect_content": "Бот не підтримує такий контент. Будь ласка, надішли текст, фото, відео, файл або анімацію (гіф).",

View File

@ -29,19 +29,13 @@ async def callback_query_shc(app: Client, clb: CallbackQuery):
spoil = col_spoilers.find_one({"_id": ObjectId(clb.data.split("_")[1])}) spoil = col_spoilers.find_one({"_id": ObjectId(clb.data.split("_")[1])})
if spoil["description"] == "": desc = locale(
desc = locale("spoiler_empty_named", "message", locale=clb.from_user).format( "spoiler_described_named", "message", locale=clb.from_user
locale(spoil["category"], "message", "spoiler_categories"), ).format(
clb.from_user.first_name, locale(spoil["category"], "message", "spoiler_categories"),
) clb.from_user.first_name,
else: spoil["description"],
desc = locale( )
"spoiler_described_named", "message", locale=clb.from_user
).format(
locale(spoil["category"], "message", "spoiler_categories"),
clb.from_user.first_name,
spoil["description"],
)
await app.send_message( await app.send_message(
configGet("users", "groups"), configGet("users", "groups"),

View File

@ -147,33 +147,27 @@ async def any_stage(app: Client, msg: Message):
# await msg.reply_text(locale("spoiler_description_enter", "message", locale=msg.from_user), reply_markup=ForceReply(placeholder=locale("spoiler_description", "force_reply", locale=msg.from_user))) # await msg.reply_text(locale("spoiler_description_enter", "message", locale=msg.from_user), reply_markup=ForceReply(placeholder=locale("spoiler_description", "force_reply", locale=msg.from_user)))
# return # return
if str(msg.text) != "-": msg.text = fix_text(str(msg.text))
msg.text = fix_text(str(msg.text)) if len(str(msg.text)) > 1024:
if len(str(msg.text)) > 1024: await msg.reply_text(
await msg.reply_text( locale(
locale( "spoiler_description_too_long",
"spoiler_description_too_long", "message",
"message", locale=msg.from_user,
),
reply_markup=ForceReply(
placeholder=locale(
"spoiler_description",
"force_reply",
locale=msg.from_user, locale=msg.from_user,
), )
reply_markup=ForceReply( ),
placeholder=locale(
"spoiler_description",
"force_reply",
locale=msg.from_user,
)
),
)
return
col_spoilers.find_one_and_update(
{"user": msg.from_user.id, "completed": False},
{"$set": {"description": msg.text}},
)
else:
col_spoilers.find_one_and_update(
{"user": msg.from_user.id, "completed": False},
{"$set": {"description": ""}},
) )
return
col_spoilers.find_one_and_update(
{"user": msg.from_user.id, "completed": False},
{"$set": {"description": msg.text}},
)
logWrite( logWrite(
f"Adding description '{str(msg.text)}' to {msg.from_user.id}'s spoiler" f"Adding description '{str(msg.text)}' to {msg.from_user.id}'s spoiler"
@ -376,8 +370,6 @@ async def message_in_group(app: Client, msg: Message):
): ):
if str(msg.text).startswith( if str(msg.text).startswith(
locale("spoiler_described", "message").split()[0] locale("spoiler_described", "message").split()[0]
) or str(msg.text).startswith(
locale("spoiler_empty", "message").split()[0]
): ):
logWrite(f"User {msg.from_user.id} sent spoiler to user's group") logWrite(f"User {msg.from_user.id} sent spoiler to user's group")
try: try:

View File

@ -36,21 +36,13 @@ async def inline_answer(client: Client, inline_query: InlineQuery):
) )
if spoil is not None: if spoil is not None:
desc = ( desc = locale(
locale( "spoiler_described",
"spoiler_empty", "message", locale=inline_query.from_user "message",
).format( locale=inline_query.from_user,
locale(spoil["category"], "message", "spoiler_categories") ).format(
) locale(spoil["category"], "message", "spoiler_categories"),
if spoil["description"] == "" spoil["description"],
else locale(
"spoiler_described",
"message",
locale=inline_query.from_user,
).format(
locale(spoil["category"], "message", "spoiler_categories"),
spoil["description"],
)
) )
results = [ results = [