diff --git a/config_example.json b/config_example.json index 8291b4a..8da0500 100644 --- a/config_example.json +++ b/config_example.json @@ -24,6 +24,7 @@ "locale": "locale" }, "commands": { + "rules": "Check out the rules", "reapply": "Fill the application again" }, "commands_admin": { diff --git a/locale/uk.json b/locale/uk.json index 9e62a8f..84296ad 100644 --- a/locale/uk.json +++ b/locale/uk.json @@ -33,6 +33,7 @@ "startup_downtime": "Запуск бота з підом `{0}` (лежав {1})", "approved": "Вітаємо! Твою анкету переглянули та підтвердили твоє право на вступ. Скористайся кнопкою під повідомленням щоб вступити до нашої лампової спільноти!", "approved_joined": "Вітаємо! Твою анкету переглянули та підтвердили її правильність. Дякуємо за витрачений на заповнення час та гарного дня!", + "read_rules": "Будь ласка, прочитай ці правила перш ніж натискати на кнопку та приєднуватись до чату.", "refused": "Ой лишенько! Твою анкету переглянули, однак не підтвердили право на вступ до спільноти. Better luck next time!", "refused_russian": "русский военньій корабль, иди нахуй!", "approved_by": "✅ **Анкету схвалено**\nАдмін **{0}** переглянув та схвалив анкету `{1}`.", @@ -141,5 +142,11 @@ "description": "Переглянути анкету {0} (@{1})", "message_content": "{0} (@{1})\n\n**Дані анкети:**\n{2}" } - } + }, + "rules": [ + "Правила чатів:\n1️⃣) \"HoloKyiv Chat\" та \"HoloUA (Hololive Ukraine) Chat\" створені виключно для українців. В них можуть знаходись тільки люди які: \n- Народились в Україні та наразі проживають у ній\n- Народились за межами України, але проживають у ній\n- Народились в Україні, але наразі не проживають у ній\n\"HoloUA (Hololive Ukraine) Chat\" відкритий для всіх українців - https://t.me/+vyCme4tmL4c1NDMy (посилання може змінюватись).\nУ \"HoloKyiv Chat\" можна потрапити тільки особисто, якщо ви проживаєте в Києві, або є близьким другом одного із учасників чату. Із приводу додавання до чату пишіть @Chirkopol у приватні повідомлення.\n🔨 Якщо у процесі спілкування виявиться, що ви не українець, вас буде видалено із чату, до моменту, поки ви їм не станете.\n2️⃣) Заборонено поширення NSFW-контенту з прямим або частково прихованим порнографічним змістом. На контенті \"еротичного характеру\" повинні бути закриті \"сумнівні\" ділянки тіл. \n❗️Будь-який заборонений контент може бути відправлений до чату лише за допомогою використання бота - https://t.me/spoilerobot з повним описом контенту, що міститься. Але за неправильний або некоректний опис може бути видане попередження.\n‼️Видалені або змінені повідомлення все ще є повідомленнями від вашого імені, які могли побачити учасники чату, і які можуть бути відстеженні через адмінську панель.\n🔨 За порушення, у вас буде відібрано можливість надсилати весь медіа контент на добу. При повторному порушенні - на двоє, і далі наростаючою.\n3️⃣) Анонімність учасників Хололайву.\nЗаборонено: \n- Фотографії\n- Імена\n- Місце проживання\n- Точний вік (наприклад: термін \"холохеґз\" не підпадає)\n- Подробиці особистого життя\n- Пости з руммейт аккаунтів чи згадка про них з конкретними даними (тобто фраза \"там на ірл каналі Каллі щось вийшло\" - можна, а \"там на *назва ірл каналу* щось вийшло\" - ні)\n- Подробиці з минулого дівчат - лише поверхнево і без конкретики (тобто \"була офісним працівником\" - ок, \"була в *компанія_нейм*\" - ні). \nВиключення - якщо дівчата самі згадували про це на архівних(!) стрімах.\n❗️Будь-який заборонений контент може бути відправлений до чату лише за допомогою використання бота - https://t.me/spoilerobot з повним описом контенту, що міститься. Але за неправильний або некоректний опис може бути видане попередження.\n‼️Видалені або змінені повідомлення все ще є повідомленнями від вашого імені, які могли побачити учасники чату, і які можуть бути відстеженні через адмінську панель.\n🔨 За порушення ви отримаєте попередження. За наявності 3-х попереджень – мут на годину. За повторне порушення - на дві, і далі наростаючою.\n4️⃣) Заборонено флуд однотипними повідомленнями, емодзі, стікерами, гіфками, тощо. Орієнтовна кількість повідомлень, які можуть отримати попередження за це правило - 5. Кожна ситуація може розглядатись окремо, але вкладайте усі свої думки в одне повідомлення.\n🔨 За порушення ви отримаєте попередження. За наявності 3-х попереджень – мут на годину. За повторне порушення - на дві, і далі наростаючою.\n5️⃣) Заборонений спам відео та аудіо-повідомленнями, які не несуть цілі передати почуте, або побачене. Якщо ви бажаєте розповісти про те, як пройшов ваш день – використовуйте магічний перетворювач войсів у текст - https://t.me/voicybot\n🔨 За порушення ви отримаєте попередження. За наявності 3-х попереджень – мут на годину. За повторне порушення - на дві, і далі наростаючою.", + "6️⃣) Заборонені образи, погрози, булінг, приниження, тролінг учасників, членів їхніх сімей, друзів та іншого кола, що є наближеними до учасника чату. Повідомлення на кшталт: \"йди на ... \" - також є образами. Якщо на вас пожаліється інший користувач, то ви отримаєте попередження. \n‼️Видалені або змінені повідомлення все ще є повідомленнями від вашого імені, які могли побачити учасники чату, і які можуть бути відстеженні через адмінську панель.\n🔨 Якщо на прохання учасника ви не зміните темп спілкування і не вибачитесь, то отримаєте попередження. За наявності 3-х попереджень – мут на добу. За повторне порушення - на дві, і далі наростаючою. \nСкоротити термін мута можна, якщо вас пробачить ображена особа.\n⚒ Якщо ваша поведінка спричинить те, що учасник покинув чат, ви будете перебувати в муті до моменту, поки не повернете учасника назад.\n\"Будь ти хоч тричі правий, але який у цьому сенс, якщо ти не вмієш подавати свої думки і вже перебуваєш у муті?\"\n7️⃣) Заборонено провокування конфліктів та розпалювання ненависті між учасниками чату.\n🔨 За порушення ви отримаєте попередження. За наявності 3-х попереджень – мут на добу. За повторне порушення - на дві, і далі наростаючою.\n8️⃣) Заборонені прояви расизму, сексизму, гомофобії та засудження за політичні та (або) релігійні упередження. Дані теми все ще можуть бути частиною діалогу, якщо не несуть у собі прямих засуджень, образ тощо.\n🔨 За порушення ви отримаєте попередження. За наявності 3-х попереджень – мут на годину. За повторне порушення - на дві, і далі наростаючою.\n9️⃣) Заборонені аватарки, нікнейми, ролі, які порушують інші правила.\n🔨 За порушення - видалення із чату до моменту зміни вами фактору, що став причиною видалення.", + "Додаткові правила, які несуть рекомендаційний характер та не мають явних покарань за порушення:\n1️⃣) У чаті немає заборони на російську мову. Ми поважаємо кожного українця і не бажаємо розпалювати мовні конфлікти.\n2️⃣) У чаті немає заборони на російськомовний контент. Проте майте на увазі, що учасники, здебільшого, не будуть зацікавлені у тому, щоб обговорювати його, і він може бути проігнорованим.\n3️⃣) Не зловживайте матами. Намагайтесь спілкуватись чистою мовою.\n4️⃣) Поважайте авторські права контентмейкерів. Якщо ви знаходите арт, анімацію, музику, тощо на офіційних ресурсах (pixiv, twitter, deviantart тощо), відправляйте на нього посилання.\nЯкщо хтось із учасників відправив арт із не офіційного ресурсу і ви бажаєте дізнатись його автора, надішліть у відповідь повідомлення із текстом `/search` (без пробілу) на повідомлення із артом.\n- - -\nПравила можуть доповнюватись та змінюватись залежно від потреби. У такому разі, порушення, які були вчинені до введення (змінення) правила, каратися не будуть. Про всі зміни в правилах ви будете проінформовані за допомогою закріплених повідомлень. Проте вони не будуть закріплені на постійній основі, тому, час від часу, перевіряйте їхню актуальність.\n- - -\nЯкщо ви бачите, що хтось із учасників щось порушив, тегніть одного із адмінів у відповідь на повідомлення, яке, на вашу думку, є порушенням. У дописі до тегу вкажіть, по якому пункту ви побачили порушення.\nСписок адміністраторів: @Chirkopol @Za_NerZula @Denialvapr", + "Загальна інформація:\nНаш Діскорд сервер, в якому ми разом дивимося топи, концерти, стріми та граємо – *посилання тимчасово скрито*\n- - -\nРолі у чаті та право модерації надаються учасникам, які оформили спонсорську підписку на будь-кого із Хололайву. Ваша роль повинна мати пряме відношення до того, на кого була оформлена підписка, та не порушувати 9 пункт правил.\nДля отримання ролі тегніть одного із адміністраторів: @Chirkopol @Za_NerZula @Denialvapr та залиште повідомлення зі скріншотом спонсорської підписки та текстом, який ви бажаєте бачити поряд із іменем (не більше 15 символів).\nМодератори мають змогу закріпляти повідомлення та керувати відео-чатами.\nПри зловживанні можливостями модератора роль залишиться закріплена за учасником чату, але без додаткових привілеїв.\n- - -\nТеги, які використовуються у групі. Їх кількість може змінюватися з часом:\n#holomixing - проекти @Denialvapr про аудіомікшинг треків Холо-дівчат\n#holotranslation - переклади на українську і російську Холо-пісень з японської від @Toxinushka\n#holosurvey - анкети учасників" + ] } \ No newline at end of file diff --git a/main.py b/main.py index 78eef65..26d6c59 100644 --- a/main.py +++ b/main.py @@ -60,6 +60,14 @@ async def cmd_kill(app, msg): # ============================================================================================================================== +# Rules command ============================================================================================================= +@app.on_message(~ filters.scheduled & filters.private & filters.command(["rules"], prefixes=["", "/"])) +async def cmd_rules(app, msg): + for rule_msg in locale("rules"): + await msg.reply_text(rule_msg) +# ============================================================================================================================== + + # Applications command ========================================================================================================= @app.on_message(~ filters.scheduled & filters.private & filters.command(["applications"], prefixes=["", "/"])) async def cmd_applications(app, msg): @@ -217,6 +225,11 @@ async def callback_query_accept(app, clb): if need_link: link = await app.create_chat_invite_link(configGet("destination_group"), name=f"Invite for {fullclb[2]}", member_limit=1) #, expire_date=datetime.now()+timedelta(days=1)) + await app.send_message(int(fullclb[2]), locale("read_rules", "message")) + + for rule_msg in locale("rules"): + await app.send_message(int(fullclb[2]), rule_msg) + await app.send_message(int(fullclb[2]), locale("approved", "message"), reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton(str(locale("join", "button")), url=link.invite_link)