feature (topgg): Add guild whitelist.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
from data.interfaces import RowTable
|
from data.interfaces import RowTable, Table
|
||||||
|
|
||||||
topggvotes = RowTable(
|
topggvotes = RowTable(
|
||||||
'topgg',
|
'topgg',
|
||||||
@@ -6,3 +6,4 @@ topggvotes = RowTable(
|
|||||||
'voteid'
|
'voteid'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
guild_whitelist = Table('topgg_guild_whitelist')
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ async def topgg_reply_wrapper(func, ctx: LionContext, *args, suggest_vote=True,
|
|||||||
pass
|
pass
|
||||||
elif ctx.cmd.name in boostfree_commands or ctx.cmd.group in boostfree_groups:
|
elif ctx.cmd.name in boostfree_commands or ctx.cmd.group in boostfree_groups:
|
||||||
pass
|
pass
|
||||||
|
elif ctx.guild and ctx.guild.id in ctx.client.settings.topgg_guild_whitelist.value:
|
||||||
|
pass
|
||||||
elif not get_last_voted_timestamp(ctx.author.id):
|
elif not get_last_voted_timestamp(ctx.author.id):
|
||||||
upvote_info_formatted = upvote_info.format(lion_yayemote, ctx.best_prefix, lion_loveemote)
|
upvote_info_formatted = upvote_info.format(lion_yayemote, ctx.best_prefix, lion_loveemote)
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
from settings.user_settings import UserSettings, UserSetting
|
from cmdClient.checks import is_owner
|
||||||
from settings.setting_types import Boolean
|
|
||||||
|
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.reminder import Reminder
|
||||||
from modules.reminders.data import reminders
|
from modules.reminders.data import reminders
|
||||||
|
|
||||||
from .utils import create_remainder, remainder_content, topgg_upvote_link
|
from .utils import create_remainder, remainder_content, topgg_upvote_link
|
||||||
|
from .data import guild_whitelist
|
||||||
|
|
||||||
|
|
||||||
@UserSettings.attach_setting
|
@UserSettings.attach_setting
|
||||||
@@ -48,3 +52,21 @@ class topgg_vote_remainder(Boolean, UserSetting):
|
|||||||
return (
|
return (
|
||||||
"I will no longer send you voting reminders."
|
"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
|
||||||
|
|||||||
Reference in New Issue
Block a user