Refactoring

This commit is contained in:
SantaSpeen
2022-03-22 12:18:05 +03:00
parent 565db6ca28
commit b91a657d03
4 changed files with 22 additions and 10 deletions

View File

@@ -29,10 +29,12 @@ $ python3 main.py
{
"bot_token": "BOT_TOKEN",
"remote_chat": -123456789,
"new_member_message": "Привет, @%(username)-s!\nДобро пожаловать в наше IT - сообщество.\nЧтобы люди могли в будущем найти тебя, напиши вступительное сообщение о себе с хештегом %(<)-s#знакомство%(</)-s. Приятного времяпрепровождения!",
"new_member_message": "new_member_message.txt",
"start_message": "start message",
"standart_start_message": "Привет, @%(username)-s!\nДобро пожаловать в наше IT - сообщество.\nЧтобы люди могли в будущем найти тебя, напиши вступительное сообщение о себе с хештегом %(<)-s#знакомство%(</)-s.\n\nПриятного времяпрепровождения!",
"static_message": {
"help": "Я бот, ничем не могу помочь, сорян..."
"help": "Я бот, ничем не могу помочь, сорян...",
"rules": "\uD83D\uDD16Правила чата:\n\n1. Политические и религиозные высказывания запрещены.\n2. Спам и флуд запрещён.\n3. Оскорбления запрещены.\n4. Запрещено скидывать вредоносное ПО и ссылки.\n5. Запрещено скидывать 18+ контент (порно, расчленёнку и т.д.).\n\nОтноситесь уважительно друг к другу. Чат создан для комфортного и уютного общения IT-шников. Здесь люди помогают друг другу, а не ругаются и высказываются по поводу политики. \n\nС уважением, администрация Royalty❤"
}
}
```

View File

@@ -23,6 +23,7 @@ class Config:
self.static_message: dict = None
self.__new_member_message: dict = None
self.standart_start_message: str = None
self._read_config()
@@ -40,16 +41,17 @@ class Config:
self.messages_object = self.raw_config.get("messages")
self.start_message = self.raw_config.get("start_message")
self.static_message = self.raw_config.get("static_message")
self.standart_start_message = self.raw_config.get("standart_start_message")
@property
def new_member_message(self) -> str:
if not self.__new_member_message:
with open(self.raw_config['new_member_message']) as f:
with open(self.raw_config['file_start_message']) as f:
self.__new_member_message = f.read()
return self.__new_member_message
@new_member_message.setter
def new_member_message(self, v):
with open(self.raw_config['new_member_message'], "w") as f:
with open(self.raw_config['file_start_message'], "w") as f:
f.write(v)
self.__new_member_message = v

View File

@@ -29,7 +29,15 @@ unmute_perm = types.ChatPermissions(
can_send_polls=True,
can_send_other_messages=True
)
standart_hello_message = "Привет, @%(username)-s!\nДобро пожаловать в наше IT - сообщество.\nЧтобы люди могли в будущем найти тебя, напиши вступительное сообщение о себе с хештегом %(<)-s#знакомство%(</)-s.\n\nПриятного времяпрепровождения!"
formating = """
```
new_member_message % {
"username": user['username'],
"<": "<code>", # Start codeblock
"</": "</code>" # Close codeblock
}
```
"""
@dp.message_handler(commands=["start"], chat_type=ChatType.PRIVATE)
@@ -174,16 +182,16 @@ async def set_hello_message(msg: types.Message):
hello = err = None
if mode in ("default", "standart"):
hello = standart_hello_message
hello = config.standart_start_message
elif mode == "new":
if len(splt) > 2:
hello = " ".join(splt[2:])
else:
err = "`/set new [ hello message ]`"
elif mode == "help":
err = "Помощь по команде:\n1. `/set new [ hello_message ] `, - Устанавливает приветсвенное сообщене равное `hello_message`\n2. `/set default ` или ` /set standart `, - Установка стандартного сообщения"
err = f"Форматировние:{formating}Помощь по команде:\n1. `/set new [ hello_message ] `, - Устанавливает приветсвенное сообщене равное `hello_message`\n2. `/set [ default, standart ] `, - Установка стандартного сообщения\n3. `/set help `, - Вывод этого сообщения"
else:
err = 'Досупные моды: `[("default", "standart"), "new"]`'
err = 'Досупные моды: `["help", ("default", "standart"), "new"]`'
if hello:
config.new_member_message = hello
@@ -193,7 +201,7 @@ async def set_hello_message(msg: types.Message):
else:
await msg.reply("""Применяемое форматирование:\n```\nnew_member_message % {\n\n\t"username": user['username'],\n\t"<": "<code>", # Start codeblock\n\t"</": "</code>" # Close codeblock\n\n}```\nПример выполнения команды: `/set [mode] [ [message] ]`""", parse_mode=ParseMode.MARKDOWN)
await msg.reply("""Пример выполнения команды: `/set [mode] [ [message] ]`""", parse_mode=ParseMode.MARKDOWN)
@dp.message_handler(content_types=['new_chat_members'], chat_type=ChatType.SUPERGROUP)

View File

@@ -2,4 +2,4 @@
Добро пожаловать в наше IT - сообщество.
Чтобы люди могли в будущем найти тебя, напиши вступительное сообщение о себе с хештегом %(<)-s#знакомство%(</)-s.
Приятного времяпрепровождения!
Приятного времяпрепровождения!