mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-07 03:38:53 -05:00
[Core] Add bot.set_prefixes() (#3890)
* Add bot.set_prefixes; change set serverprefix and set prefix to new method * Address requested changes * Apply suggestions from code review * One more Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
parent
f1ba57b78b
commit
7a86cc4bf3
@ -454,6 +454,28 @@ class RedBase(
|
|||||||
"""
|
"""
|
||||||
return await self.get_prefix(NotMessage(guild))
|
return await self.get_prefix(NotMessage(guild))
|
||||||
|
|
||||||
|
async def set_prefixes(self, prefixes: List[str], guild: Optional[discord.Guild] = None):
|
||||||
|
"""
|
||||||
|
Set global/server prefixes.
|
||||||
|
|
||||||
|
If ``guild`` is not provided (or None is passed), this will set the global prefixes.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
prefixes : List[str]
|
||||||
|
The prefixes you want to set. Passing empty list will reset prefixes for the ``guild``
|
||||||
|
guild : Optional[discord.Guild]
|
||||||
|
The guild you want to set the prefixes for. Omit (or pass None) to set the global prefixes
|
||||||
|
|
||||||
|
Raises
|
||||||
|
------
|
||||||
|
TypeError
|
||||||
|
If ``prefixes`` is not a list of strings
|
||||||
|
ValueError
|
||||||
|
If empty list is passed to ``prefixes`` when setting global prefixes
|
||||||
|
"""
|
||||||
|
await self._prefix_cache.set_prefixes(guild=guild, prefixes=prefixes)
|
||||||
|
|
||||||
async def get_embed_color(self, location: discord.abc.Messageable) -> discord.Color:
|
async def get_embed_color(self, location: discord.abc.Messageable) -> discord.Color:
|
||||||
"""
|
"""
|
||||||
Get the embed color for a location. This takes into account all related settings.
|
Get the embed color for a location. This takes into account all related settings.
|
||||||
|
|||||||
@ -261,7 +261,7 @@ class CoreLogic:
|
|||||||
The current (or new) list of prefixes.
|
The current (or new) list of prefixes.
|
||||||
"""
|
"""
|
||||||
if prefixes:
|
if prefixes:
|
||||||
await self.bot._prefix_cache.set_prefixes(guild=None, prefixes=prefixes)
|
await self.bot.set_prefixes(guild=None, prefixes=prefixes)
|
||||||
return prefixes
|
return prefixes
|
||||||
return await self.bot._prefix_cache.get_prefixes(guild=None)
|
return await self.bot._prefix_cache.get_prefixes(guild=None)
|
||||||
|
|
||||||
@ -1284,7 +1284,7 @@ class Core(commands.Cog, CoreLogic):
|
|||||||
if not prefixes:
|
if not prefixes:
|
||||||
await ctx.send_help()
|
await ctx.send_help()
|
||||||
return
|
return
|
||||||
await self._prefixes(prefixes)
|
await ctx.bot.set_prefixes(guild=None, prefixes=prefixes)
|
||||||
await ctx.send(_("Prefix set."))
|
await ctx.send(_("Prefix set."))
|
||||||
|
|
||||||
@_set.command(aliases=["serverprefixes"])
|
@_set.command(aliases=["serverprefixes"])
|
||||||
@ -1293,11 +1293,11 @@ class Core(commands.Cog, CoreLogic):
|
|||||||
async def serverprefix(self, ctx: commands.Context, *prefixes: str):
|
async def serverprefix(self, ctx: commands.Context, *prefixes: str):
|
||||||
"""Sets [botname]'s server prefix(es)"""
|
"""Sets [botname]'s server prefix(es)"""
|
||||||
if not prefixes:
|
if not prefixes:
|
||||||
await ctx.bot._prefix_cache.set_prefixes(guild=ctx.guild, prefixes=[])
|
await ctx.bot.set_prefixes(guild=ctx.guild, prefixes=[])
|
||||||
await ctx.send(_("Guild prefixes have been reset."))
|
await ctx.send(_("Guild prefixes have been reset."))
|
||||||
return
|
return
|
||||||
prefixes = sorted(prefixes, reverse=True)
|
prefixes = sorted(prefixes, reverse=True)
|
||||||
await ctx.bot._prefix_cache.set_prefixes(guild=ctx.guild, prefixes=prefixes)
|
await ctx.bot.set_prefixes(guild=ctx.guild, prefixes=prefixes)
|
||||||
await ctx.send(_("Prefix set."))
|
await ctx.send(_("Prefix set."))
|
||||||
|
|
||||||
@_set.command()
|
@_set.command()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user