Remove support for Audio's Global API (#5143)

* Force-disable Audio's Global API functionality

* Remove owner message about global API

* Two more comments

* Update CODEOWNERS

* Bring back the owner notification, modified to not mention global DB

* Remove the global api group fully, remove the mentions of it
This commit is contained in:
jack1142 2021-06-17 19:27:56 +02:00 committed by GitHub
parent be04ec1c86
commit a99240f7c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 3 additions and 56 deletions

2
.github/CODEOWNERS vendored
View File

@ -1,5 +1,5 @@
# Cogs
/redbot/cogs/audio/** @aikaterna @Drapersniper @PredaaA
/redbot/cogs/audio/** @aikaterna @PredaaA
/redbot/cogs/downloader/* @jack1142
/redbot/cogs/streams/* @palmtree5
/redbot/cogs/mutes/* @TrustyJAID

View File

@ -174,7 +174,8 @@ class GlobalCacheWrapper:
async def get_perms(self):
global_api_user = copy(self.cog.global_api_user)
await self._get_api_key()
is_enabled = await self.config.global_db_enabled()
# global API is force-disabled right now
is_enabled = False
if (not is_enabled) or self.api_key is None:
return global_api_user
with contextlib.suppress(Exception):

View File

@ -1085,15 +1085,11 @@ class AudioSetCommands(MixinMeta, metaclass=CompositeMetaClass):
+ _("Local Spotify cache: [{spotify_status}]\n")
+ _("Local Youtube cache: [{youtube_status}]\n")
+ _("Local Lavalink cache: [{lavalink_status}]\n")
+ _("Global cache status: [{global_cache}]\n")
+ _("Global timeout: [{num_seconds}]\n")
).format(
max_age=str(await self.config.cache_age()) + " " + _("days"),
spotify_status=_("Enabled") if has_spotify_cache else _("Disabled"),
youtube_status=_("Enabled") if has_youtube_cache else _("Disabled"),
lavalink_status=_("Enabled") if has_lavalink_cache else _("Disabled"),
global_cache=_("Enabled") if global_data["global_db_enabled"] else _("Disabled"),
num_seconds=self.get_time_string(global_data["global_db_get_timeout"]),
)
msg += (
"\n---"
@ -1422,37 +1418,6 @@ class AudioSetCommands(MixinMeta, metaclass=CompositeMetaClass):
await self.config.cache_age.set(age)
await self.send_embed_msg(ctx, title=_("Setting Changed"), description=msg)
@commands.is_owner()
@command_audioset.group(name="globalapi")
async def command_audioset_audiodb(self, ctx: commands.Context):
"""Change globalapi settings."""
@command_audioset_audiodb.command(name="toggle")
async def command_audioset_audiodb_toggle(self, ctx: commands.Context):
"""Toggle the server settings.
Default is OFF
"""
state = await self.config.global_db_enabled()
await self.config.global_db_enabled.set(not state)
if not state: # Ensure a call is made if the API is enabled to update user perms
self.global_api_user = await self.api_interface.global_cache_api.get_perms()
await ctx.send(
_("Global DB is {status}").format(status=_("enabled") if not state else _("disabled"))
)
@command_audioset_audiodb.command(name="timeout")
async def command_audioset_audiodb_timeout(
self, ctx: commands.Context, timeout: Union[float, int]
):
"""Set GET request timeout.
Example: 0.1 = 100ms 1 = 1 second
"""
await self.config.global_db_get_timeout.set(timeout)
await ctx.send(_("Request timeout set to {time} second(s)").format(time=timeout))
@command_audioset.command(name="persistqueue")
@commands.admin()
async def command_audioset_persist_queue(self, ctx: commands.Context):

View File

@ -39,7 +39,6 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
await self.bot.wait_until_red_ready()
# Unlike most cases, we want the cache to exit before migration.
try:
await self.maybe_message_all_owners()
self.db_conn = APSWConnectionWrapper(
str(cog_data_path(self.bot.get_cog("Audio")) / "Audio.db")
)
@ -246,21 +245,3 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
return
del metadata
del all_guilds
async def maybe_message_all_owners(self):
current_notification = await self.config.owner_notification()
if current_notification == _OWNER_NOTIFICATION:
return
if current_notification < 1 <= _OWNER_NOTIFICATION:
msg = _(
"""Hello, this message brings you an important update regarding the core Audio cog:
Starting from Audio v2.3.0+ you can take advantage of the **Global Audio API**, a new service offered by the Cog-Creators organization that allows your bot to greatly reduce the amount of requests done to YouTube / Spotify. This reduces the likelihood of YouTube rate-limiting your bot for making requests too often.
See `[p]help audioset globalapi` for more information.
Access to this service is disabled by default and **requires you to explicitly opt-in** to start using it.
An access token is **required** to use this API. To obtain this token you may join <https://discord.gg/red> and run `?audioapi register` in the #testing channel.
Note: by using this service you accept that your bot's IP address will be disclosed to the Cog-Creators organization and used only for the purpose of providing the Global API service."""
)
await send_to_owners_with_prefix_replaced(self.bot, msg)
await self.config.owner_notification.set(1)