45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from settings.user_settings import UserSettings, UserSetting
|
|
from settings.setting_types import Boolean
|
|
|
|
from modules.reminders.reminder import Reminder
|
|
from modules.reminders.data import reminders
|
|
|
|
from .utils import *
|
|
|
|
@UserSettings.attach_setting
|
|
class topgg_vote_remainder(Boolean, UserSetting):
|
|
attr_name = 'vote_remainder'
|
|
_data_column = 'remaind_upvote'
|
|
|
|
_default = True
|
|
|
|
display_name = 'Upvote Remainder'
|
|
desc = "Turn on/off DM Remainders to Upvote me."
|
|
long_desc = "Use this setting to enable/disable DM remainders from me to upvote on Top.gg."
|
|
|
|
@property
|
|
def success_response(self):
|
|
if self.value:
|
|
# Check if reminder is already running
|
|
create_remainder(self.id)
|
|
|
|
return (
|
|
"Remainder, in your DMs, to upvote me are {}.\n\n"
|
|
"`Do make sure that I can DM you.`"
|
|
).format(self.formatted)
|
|
else:
|
|
# Check if reminder is already running and get its id
|
|
r = reminders.select_one_where(
|
|
userid=self.id,
|
|
select_columns='reminderid',
|
|
content=remainder_content,
|
|
_extra="ORDER BY remind_at DESC LIMIT 1"
|
|
)
|
|
|
|
# Cancel and delete Remainder if already running
|
|
if r:
|
|
Reminder.delete(r['reminderid'])
|
|
|
|
return (
|
|
"Remainder, in your DMs, to upvote me are Off."
|
|
).format(self.formatted) |