From 717718d8217c3b6235a72d766d0ce843e643691f Mon Sep 17 00:00:00 2001 From: Profitroll Date: Sun, 6 Feb 2022 02:58:55 +0200 Subject: [PATCH] Update 1.0 --- functions.py | 10 ++++++---- locale/en.json | 8 ++++++-- locale/ru.json | 6 +++++- locale/uk.json | 52 ++++++++++++++++++++++++++---------------------- requirements.txt | 1 + yusarin.py | 9 ++++++++- 6 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 requirements.txt diff --git a/functions.py b/functions.py index 16ad724..d96524d 100644 --- a/functions.py +++ b/functions.py @@ -1,4 +1,4 @@ -import discord, json, os, shutil +import json, os, sys, shutil, discord from datetime import datetime from pathlib import Path @@ -53,6 +53,7 @@ def loadJson(filename): output = json.load(json_file) json_file.close() except Exception as exp: + appendLog(f"Could not get contents of json file {filename} due to exception {exp}") output = {} return output @@ -62,7 +63,8 @@ def getMsg(string): try: locale = loadJson(f'{path}/locale/{config["bot_locale"]}.json') return locale["messages"][string] - except: + except Exception as exp: + appendLog(f"Could not get locale string named {string} due to exception {exp}") return f"Could not get locale string {string}" def guildConfGet(guild, variable): @@ -138,14 +140,14 @@ async def createUserVoice(vc, category, member): vc.guild.me: discord.PermissionOverwrite(read_messages=True, view_channel=True, manage_channels=True), member: discord.PermissionOverwrite(read_messages=True, view_channel=True, manage_channels=True) } - created_channel = await vc.guild.create_voice_channel(f"Канал {member.name}", category=category, overwrites=overwrites_channel) + created_channel = await vc.guild.create_voice_channel(getMsg("name_voice").format(member.name), category=category, overwrites=overwrites_channel) appendLog(f"Created voice channel {str(created_channel.id)} for user {str(member.id)}", guild=vc.guild.id) if not os.path.isdir(f"{path}/guilds/{str(created_channel.guild.id)}/channels"): os.mkdir(f"{path}/guilds/{str(created_channel.guild.id)}/channels") vc_file = f"{path}/guilds/{str(created_channel.guild.id)}/channels/{str(created_channel.id)}.json" chan["ownerid"] = member.id saveJson(chan, vc_file) - nomic_channel = await vc.guild.create_text_channel(f"без-микро-{str(created_channel.id)}", category=category, overwrites=overwrites_nomic, topic=f"Тектовый канал для комуникации без микрофона\nID голосовой комнаты: {str(created_channel.id)}") + nomic_channel = await vc.guild.create_text_channel(getMsg("name_nomic").format(created_channel.id), category=category, overwrites=overwrites_nomic, topic=getMsg("description_nomic").format(str(created_channel.id))) appendLog(f"Created nomic channel {str(nomic_channel.id)} for channel {str(created_channel.id)}", guild=vc.guild.id) chan["nomic"] = nomic_channel.id saveJson(chan, vc_file) diff --git a/locale/en.json b/locale/en.json index ffcbfee..d2fe56f 100644 --- a/locale/en.json +++ b/locale/en.json @@ -1,6 +1,7 @@ { "messages": { "shutdown": "Shutting down...", + "locale_set": "Bot's locale has been changed to **English**", "help": "**List of command:**\n{0}• Set parent channel: `{1}channel CHANNEL-ID`\n• Set parent category: `{2}category CATEGORY-ID`\n• Set commands prefix: `{3}prefix SYMBOL`\n\nTo reset channel/category/prefix use `reset` as argument\n\nPlease note that channel/category name ≠ ID of channel/category", "help_owner": "• Turn off the bot: `{0}shutdown`\n", "command_in_dm": "Commands can only be executed on the server", @@ -9,7 +10,7 @@ "usage_category": "Correct usage: `{0}category CATEGORY-ID`\nPlease note that name of category ≠ ID of category.\nFind out more about it here: https://support.discord.com/hc/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", "usage_prefix": "Correct usage: `{0}prefix SYMBOL`", "result_channel": "Voice channel **{0}** is now set as parent", - "result_category": "Category **{0}** is now ser as parent", + "result_category": "Category **{0}** is now set as parent", "result_prefix": "Command prefix **{0}** is now set as primary for this server", "warn_channel": "⚠ Parent channel is not set!\nFor the bot to work, you need to set parent channel: `{0}channel CHANNEL-ID`", "warn_category": "⚠ Parent category is not set!\nFor the bot to work, you need to set parent category: `{0}category CATEGORY-ID`", @@ -25,6 +26,9 @@ "unconfigured_category": "⚠ Parent category", "configured_prefix": "ℹ Commands prefix: `{0}`", "configured_channel": "☑ Parent channel: **{0}**", - "configured_category": "☑ Parent category: **{0}**" + "configured_category": "☑ Parent category: **{0}**", + "name_voice": "{0}'s channel", + "name_nomic": "no-mic-{0}", + "description_nomic": "Text channel for no mic communication\nVoice room ID: {0}" } } \ No newline at end of file diff --git a/locale/ru.json b/locale/ru.json index 1b56b14..9561861 100644 --- a/locale/ru.json +++ b/locale/ru.json @@ -1,6 +1,7 @@ { "messages": { "shutdown": "Выключаюсь...", + "locale_set": "Язык бота был изменён на **Русский**", "help": "**Список команд:**\n{0}• Установить родительский канал: `{1}channel ID-КАНАЛА`\n• Установить родительскую категорию: `{2}category ID-КАТЕГОРИИ`\n• Установить префикс команд: `{3}prefix СИМВОЛ`\n\nДля сброса канала/категории/префикса используйте `reset` как аргумент\n\nОбратите внимание, что имя канала/категории ≠ ID канала/категории", "help_owner": "• Выключиться: `{0}shutdown`\n", "command_in_dm": "Команды можно исполнять только находясь на сервере", @@ -25,6 +26,9 @@ "unconfigured_category": "⚠ Родительская категория", "configured_prefix": "ℹ Префикс команд: `{0}`", "configured_channel": "☑ Родительский канал: **{0}**", - "configured_category": "☑ Родительская категория: **{0}**" + "configured_category": "☑ Родительская категория: **{0}**", + "name_voice": "Канал {0}", + "name_nomic": "без-микро-{0}", + "description_nomic": "Текстовый канал для коммуникации без микрофона\nID голосовой комнаты: {0}" } } \ No newline at end of file diff --git a/locale/uk.json b/locale/uk.json index be05551..0544dff 100644 --- a/locale/uk.json +++ b/locale/uk.json @@ -1,30 +1,34 @@ { "messages": { "shutdown": "Вимикаюсь...", - "help": "**Перелік команд:**\n{0}• Установить родительский канал: `{1}channel ID-КАНАЛА`\n• Установить родительскую категорию: `{2}category ID-КАТЕГОРИИ`\n• Встановити префікс команд: `{3}prefix СИМВОЛ`\n\nДля скидання каналу/ категорії/префіксу використовуйте `reset` як аргумент\n\nЗверніть увагу, що ім'я каналу/категорії ≠ ID каналу/категорії", - "help_owner": "• Выключиться: `{0}shutdown`\n", - "command_in_dm": "Команды можно исполнять только находясь на сервере", - "command_forbidden": "Для настройки приватных каналов нужно иметь право **Администратор** на сервере", - "usage_channel": "Правильное использование: `{0}channel ID-КАНАЛА`\nОбратите внимание, что имя канала ≠ ID канала.\nУзнайте больше об этом тут: https://support.discord.com/hc/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", - "usage_category": "Правильное использование: `{0}category ID-КАТЕГОРИИ`\nОбратите внимание, что имя категории ≠ ID категории.\nУзнайте больше об этом тут: https://support.discord.com/hc/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", - "usage_prefix": "Правильное использование: `{0}prefix СИМВОЛ`", - "result_channel": "Голосовой канал **{0}** был установлен как родительский", - "result_category": "Категория **{0}** была установлена как родительская", - "result_prefix": "Префикс **{0}** был установлен как основной для этого сервера", - "warn_channel": "⚠ Родительский канал не установлен!\nДля работы бота нужно установить канал: `{0}channel ID-КАНАЛА`", - "warn_category": "⚠ Родительская категория не установлена!\nДля работы бота нужно установить категорию: `{0}category ID-КАТЕГОРИИ`", - "reset_channel": "Родительский голосовой канал был сброшен", - "reset_category": "Родительская категория была сброшена", - "reset_prefix": "Прификс команд был сброшен, теперь это `{0}`", - "none_channel": "Родительский голосовой канал не был задан", - "none_category": "Родительская категория не была задана", - "none_prefix": "Префикс команд не был задан, используется стандартный `{0}`", + "locale_set": "Мова бота була змінена на **Українську**", + "help": "**Перелік команд:**\n{0}• Встановити твірний канал: `{1}channel ID-КАНАЛА`\n• Встановити твірну категорію: `{2}category ID-КАТЕГОРІЇ`\n• Встановити префікс команд: `{3}prefix СИМВОЛ`\n\nДля скидання каналу/категорії/префіксу використовуйте `reset` як аргумент\n\nЗверніть увагу, що назва каналу/категорії ≠ ID каналу/категорії", + "help_owner": "• Вимкнутись: `{0}shutdown`\n", + "command_in_dm": "Команди можна виконувати тільки знаходячись на сервері", + "command_forbidden": "Для налаштування приватних каналів потрібно мати право **Адміністратор** на сервері", + "usage_channel": "Правильне використання: `{0}channel ID-КАНАЛА`\nЗверніть увагу, що назва канала ≠ ID канала.\nДізнайтеся більше про це тут: https://support.discord.com/hc/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", + "usage_category": "Правильне використання: `{0}category ID-КАТЕГОРІЇ`\nЗверніть увагу, що назва категорії ≠ ID категорії.\nДізнайтеся більше про це тут: https://support.discord.com/hc/articles/206346498-Where-can-I-find-my-User-Server-Message-ID", + "usage_prefix": "Правильне використання: `{0}prefix СИМВОЛ`", + "result_channel": "Голосовий канал **{0}** було встановлено як твірний", + "result_category": "Категорія **{0}** була встановлена як твірна", + "result_prefix": "Префікс **{0}** було встановлено як основний для цього сервера", + "warn_channel": "⚠ Твірний канал не встановлено!\nДля роботи робота потрібно встановити канал: `{0}channel ID-КАНАЛА`", + "warn_category": "⚠ Твірна категорія не встановлена!\nДля роботи робота потрібно встановити категорію: `{0}category ID-КАТЕГОРІЇ`", + "reset_channel": "Твірний голосовий канал було скинуто", + "reset_category": "Твірну категорію було скинуто", + "reset_prefix": "Префікс команд було скинуто, тепер це `{0}`", + "none_channel": "Твірний голосовий канал не було задано", + "none_category": "Твірну категорію не було задано", + "none_prefix": "Префікс команд не було задано, використовується стандартний `{0}`", "server_config": "**Статус сервера:**\n{0}\n{1}\n{2}\n\n", - "unconfigured_prefix": "ℹ Префикс команд: `{0}`", - "unconfigured_channel": "⚠ Родительский канал", - "unconfigured_category": "⚠ Родительская категория", - "configured_prefix": "ℹ Префикс команд: `{0}`", - "configured_channel": "☑ Родительский канал: **{0}**", - "configured_category": "☑ Родительская категория: **{0}**" + "unconfigured_prefix": "ℹ Префікс команд: `{0}`", + "unconfigured_channel": "⚠ Твірний канал", + "unconfigured_category": "⚠ Твірна категорія", + "configured_prefix": "ℹ Префікс команд: `{0}`", + "configured_channel": "☑ Твірний канал: **{0}**", + "configured_category": "☑ Твірна категорія: **{0}**", + "name_voice": "Канал {0}", + "name_nomic": "без-мікро-{0}", + "description_nomic": "Текстовий канал для комунікації без мікрофона\nID голосової кімнати: {0}" } } \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..503dba9 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +discord.py \ No newline at end of file diff --git a/yusarin.py b/yusarin.py index e339823..ba89e70 100644 --- a/yusarin.py +++ b/yusarin.py @@ -1,4 +1,11 @@ -import discord, json, os +import json, os, sys + +try: + import discord +except Exception as exp: + print(f"Module discord.py is not installed. Make sure to run 'pip install -r requirements.txt' before first start") + sys.exit() + from functions import * #from discord_slash import SlashCommand, SlashContext