Remove modules that will no longer be required. Move pending modules to pending-rewrite folders.
73 lines
2.4 KiB
Python
73 lines
2.4 KiB
Python
from cmdClient.checks import is_owner
|
|
|
|
from settings import UserSettings, UserSetting, AppSettings
|
|
from settings.base import ListData, Setting
|
|
from settings.setting_types import Boolean, GuildIDList
|
|
|
|
from modules.reminders.reminder import Reminder
|
|
from modules.reminders.data import reminders
|
|
|
|
from .utils import create_remainder, remainder_content, topgg_upvote_link
|
|
from .data import guild_whitelist
|
|
|
|
|
|
@UserSettings.attach_setting
|
|
class topgg_vote_remainder(Boolean, UserSetting):
|
|
attr_name = 'vote_remainder'
|
|
_data_column = 'topgg_vote_reminder'
|
|
|
|
_default = True
|
|
|
|
display_name = 'vote_reminder'
|
|
desc = r"Toggle automatic reminders to support me for a 25% LionCoin boost."
|
|
long_desc = (
|
|
"Did you know that you can [vote for me]({vote_link}) to help me help other people reach their goals? "
|
|
"And you get a **25% boost** to all LionCoin income you make across all servers!\n"
|
|
"Enable this setting if you want me to let you know when you can vote again!"
|
|
).format(vote_link=topgg_upvote_link)
|
|
|
|
@property
|
|
def success_response(self):
|
|
if self.value:
|
|
# Check if reminder is already running
|
|
create_remainder(self.id)
|
|
|
|
return (
|
|
"Thank you for supporting me! I will remind in your DMs when you can vote next! "
|
|
"(Please make sure your DMs are open, otherwise I can't reach you!)"
|
|
)
|
|
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 (
|
|
"I will no longer send you voting reminders."
|
|
)
|
|
|
|
|
|
@AppSettings.attach_setting
|
|
class topgg_guild_whitelist(GuildIDList, ListData, Setting):
|
|
attr_name = 'topgg_guild_whitelist'
|
|
write_ward = is_owner
|
|
|
|
category = 'Topgg Voting'
|
|
display_name = 'topgg_hidden_in'
|
|
desc = "Guilds where the topgg vote prompt is not displayed."
|
|
long_desc = (
|
|
"A list of guilds where the topgg vote prompt will be hidden."
|
|
)
|
|
|
|
_table_interface = guild_whitelist
|
|
_id_column = 'appid'
|
|
_data_column = 'guildid'
|
|
_force_unique = True
|