Added guild and user settings module.

This commit is contained in:
2021-09-12 11:27:37 +03:00
parent 0183b63c55
commit 572a3a8688
7 changed files with 1757 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
import datetime
import settings
from utils.lib import DotDict
from data import tables as tb
class UserSettings(settings.ObjectSettings):
settings = DotDict()
class UserSetting(settings.ColumnData, settings.Setting):
_table_interface = tb.user_config
_id_column = 'userid'
_create_row = True
write_ward = None
@UserSettings.attach_setting
class timezone(settings.Timezone, UserSetting):
attr_name = 'timezone'
_data_column = 'timezone'
_default = 'UTC'
display_name = 'timezone'
desc = "Timezone to display prompts in."
long_desc = (
"Timezone used for displaying certain prompts (e.g. selecting an accountability room)."
)
@property
def success_response(self):
if self.value:
return (
"Your personal timezone is now {}.\n"
"Your current time is **{}**."
).format(self.formatted, datetime.datetime.now(tz=self.value).strftime("%H:%M"))
else:
return "Your personal timezone has been unset."