mirror of
https://github.com/UiO-Gaming/ShiteMusicBot.git
synced 2026-11-05 13:56:51 +01:00
Merge pull request #59 from r-Norge/feature/add_more_type_hints
Feature/add more type hints
This commit is contained in:
4 files changed
+35
-32
No files matched your search
@@ -74,7 +74,8 @@ class CogManager(commands.Cog):
|
||||
@commands.is_owner()
|
||||
async def _shutdown(self, ctx):
|
||||
"""Logs out and stops."""
|
||||
self.bot.lavalink.player_manager.players.clear()
|
||||
if lavalink := self.bot.lavalink:
|
||||
lavalink.player_manager.players.clear()
|
||||
await self.bot.close()
|
||||
|
||||
|
||||
|
||||
@@ -52,14 +52,14 @@ class Misc(commands.Cog):
|
||||
Info about the music player
|
||||
"""
|
||||
embed = discord.Embed(title='{music.title}', color=ctx.me.color)
|
||||
lavalink = self.bot.lavalink
|
||||
|
||||
listeners = 0
|
||||
for guild, player in lavalink.player_manager.players.items():
|
||||
listeners += len(player.listeners)
|
||||
if lavalink := self.bot.lavalink:
|
||||
for _, player in lavalink.player_manager.players.items():
|
||||
listeners += len(player.listeners)
|
||||
|
||||
embed.add_field(name='{music.players}', value=f'{len(lavalink.player_manager.players)}')
|
||||
embed.add_field(name='{music.listeners}', value=f'{listeners}')
|
||||
embed.add_field(name='{music.players}', value=f'{len(lavalink.player_manager.players)}')
|
||||
embed.add_field(name='{music.listeners}', value=f'{listeners}')
|
||||
embed = ctx.localizer.format_embed(embed)
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import lavalink
|
||||
from discord.ext import commands
|
||||
|
||||
import codecs
|
||||
from typing import Optional
|
||||
|
||||
import yaml
|
||||
|
||||
@@ -30,6 +31,7 @@ class NodeManager(commands.Cog):
|
||||
|
||||
if self.bot.lavalink is None and self.bot.user:
|
||||
self.bot.lavalink = lavalink.Client(self.bot.user.id, player=MixPlayer)
|
||||
self.lavalink = self.bot.lavalink
|
||||
|
||||
self.load_nodes_from_file()
|
||||
|
||||
@@ -52,10 +54,7 @@ class NodeManager(commands.Cog):
|
||||
name_cache = []
|
||||
new_nodes = []
|
||||
|
||||
if self.bot.lavalink is None:
|
||||
return new_nodes
|
||||
|
||||
for node in self.bot.lavalink.node_manager.nodes:
|
||||
for node in self.lavalink.node_manager.nodes:
|
||||
name_cache.append(node.name)
|
||||
|
||||
self.logger.debug("BEFORE")
|
||||
@@ -63,7 +62,7 @@ class NodeManager(commands.Cog):
|
||||
if node['name'] in name_cache:
|
||||
continue
|
||||
|
||||
self.bot.lavalink.add_node(**node)
|
||||
self.lavalink.add_node(**node)
|
||||
|
||||
self.logger.debug("Adding Lavalink node: %s on %s with the port %s in %s" % (
|
||||
node['name'], node['host'],
|
||||
@@ -140,24 +139,24 @@ class NodeManager(commands.Cog):
|
||||
|
||||
@_node.command(name='add')
|
||||
@commands.is_owner()
|
||||
async def _add(self, ctx, host, port, password, region, name=None):
|
||||
if name in [n.name for n in self.bot.lavalink.node_manager.nodes]:
|
||||
async def _add(self, ctx, host: str, port: int, password: str, region, name: Optional[str] = None):
|
||||
if name in [n.name for n in self.lavalink.node_manager.nodes]:
|
||||
return await ctx.send("A node with that name already exists")
|
||||
|
||||
self.bot.lavalink.add_node(host, port, password, region, name=name)
|
||||
self.lavalink.add_node(host, port, password, region, name=name)
|
||||
self.logger.debug("Adding Lavalink node: %s on %s with the port %s in %s" % (host, port, region, name,))
|
||||
embed = await self._node_presenter(ctx, {'host': host, 'port': port, 'password': password,
|
||||
'region': region, 'name': name})
|
||||
embed.title = 'Added new node!'
|
||||
|
||||
self.settings.set('lavalink', 'nodes', [self.get_node_properties(n) for
|
||||
n in self.bot.lavalink.node_manager.nodes])
|
||||
n in self.lavalink.node_manager.nodes])
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
@_node.command(name='list')
|
||||
@commands.is_owner()
|
||||
async def list_nodes(self, ctx):
|
||||
embed = await self._node_presenter(ctx, self.bot.lavalink.node_manager.nodes)
|
||||
embed = await self._node_presenter(ctx, self.lavalink.node_manager.nodes)
|
||||
embed.title = 'Lavalink nodes attatched to this bot:'
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
@@ -165,8 +164,8 @@ class NodeManager(commands.Cog):
|
||||
@commands.is_owner()
|
||||
async def _remove(self, ctx, node):
|
||||
sent_feedback = False
|
||||
for _node in self.bot.lavalink.node_manager.nodes:
|
||||
if len(self.bot.lavalink.node_manager.nodes) <= 1:
|
||||
for _node in self.lavalink.node_manager.nodes:
|
||||
if len(self.lavalink.node_manager.nodes) <= 1:
|
||||
await ctx.send('Cannot remove the last node')
|
||||
sent_feedback = True
|
||||
break
|
||||
@@ -175,11 +174,11 @@ class NodeManager(commands.Cog):
|
||||
embed = await self._node_presenter(ctx, _node)
|
||||
embed.title = 'Removed node from bot'
|
||||
await ctx.send(embed=embed)
|
||||
self.bot.lavalink.node_manager.remove_node(_node)
|
||||
self.lavalink.node_manager.remove_node(_node)
|
||||
self.logger.info("Removed Lavalink node: %s, %s" % (_node.name, _node.host))
|
||||
|
||||
self.settings.set('lavalink', 'nodes', [self.get_node_properties(n) for
|
||||
n in self.bot.lavalink.node_manager.nodes])
|
||||
n in self.lavalink.node_manager.nodes])
|
||||
|
||||
if not sent_feedback:
|
||||
await ctx.send('No node found')
|
||||
@@ -187,7 +186,7 @@ class NodeManager(commands.Cog):
|
||||
@_node.command(name='change')
|
||||
@commands.is_owner()
|
||||
async def _nodechange(self, ctx, node=None):
|
||||
player = self.bot.lavalink.player_manager.get(ctx.guild.id)
|
||||
player = self.lavalink.player_manager.get(ctx.guild.id)
|
||||
|
||||
if not player:
|
||||
return
|
||||
@@ -198,7 +197,7 @@ class NodeManager(commands.Cog):
|
||||
|
||||
else:
|
||||
newnode = None
|
||||
for _node in self.bot.lavalink.node_manager.nodes:
|
||||
for _node in self.lavalink.node_manager.nodes:
|
||||
if (_node.name or _node.host) == node:
|
||||
newnode = _node
|
||||
|
||||
|
||||
+13
-10
@@ -2,9 +2,12 @@
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
|
||||
from typing import Optional
|
||||
|
||||
from bot import MusicBot
|
||||
|
||||
from ..utils import checks
|
||||
from ..utils.settingsmanager import Settings as SettingsManager
|
||||
from ..utils.userinteraction import ClearOn, Scroller
|
||||
from .helpformatter import commandhelper
|
||||
|
||||
@@ -12,7 +15,7 @@ from .helpformatter import commandhelper
|
||||
class Settings(commands.Cog):
|
||||
def __init__(self, bot: MusicBot):
|
||||
self.bot: MusicBot = bot
|
||||
self.settings = self.bot.settings
|
||||
self.settings: SettingsManager = self.bot.settings
|
||||
|
||||
def format_prefixes(self, prefixes):
|
||||
if prefixes is None:
|
||||
@@ -92,8 +95,8 @@ class Settings(commands.Cog):
|
||||
|
||||
if textchannels := self.bot.settings.get(ctx.guild, 'channels.text'):
|
||||
embed = discord.Embed(title='Music command channels set', color=ctx.me.color)
|
||||
channels = [ctx.guild.get_channel(channel) for channel in textchannels]
|
||||
mentioned = [channel.mention for channel in channels if channel is not None]
|
||||
configured_channels = [ctx.guild.get_channel(channel) for channel in textchannels]
|
||||
mentioned = [channel.mention for channel in configured_channels if channel is not None]
|
||||
embed.description = ', '.join(mentioned)
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
@@ -112,8 +115,8 @@ class Settings(commands.Cog):
|
||||
|
||||
if musicchannels := self.bot.settings.get(ctx.guild, 'channels.music'):
|
||||
embed = discord.Embed(title='Music channels set', color=ctx.me.color)
|
||||
channels = [ctx.guild.get_channel(channel) for channel in musicchannels]
|
||||
mentioned = [channel.name for channel in channels if channel is not None]
|
||||
configured_channels = [ctx.guild.get_channel(channel) for channel in musicchannels]
|
||||
mentioned = [channel.name for channel in configured_channels if channel is not None]
|
||||
embed.description = ', '.join(mentioned)
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
@@ -132,8 +135,8 @@ class Settings(commands.Cog):
|
||||
|
||||
if listenchannels := self.bot.settings.get(ctx.guild, 'channels.listen_only'):
|
||||
embed = discord.Embed(title='Listen only channels set', color=ctx.me.color)
|
||||
channels = [ctx.guild.get_channel(channel) for channel in listenchannels]
|
||||
mentioned = [channel.name for channel in channels if channel is not None]
|
||||
configured_channels = [ctx.guild.get_channel(channel) for channel in listenchannels]
|
||||
mentioned = [channel.name for channel in configured_channels if channel is not None]
|
||||
embed.description = ', '.join(mentioned)
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
@@ -152,8 +155,8 @@ class Settings(commands.Cog):
|
||||
|
||||
if djroles := self.bot.settings.get(ctx.guild, 'roles.dj'):
|
||||
embed = discord.Embed(title='DJ roles set to', color=ctx.me.color)
|
||||
roles = [ctx.guild.get_role(role) for role in djroles]
|
||||
mentioned = [role.name for role in roles if role is not None]
|
||||
configured_roles = [ctx.guild.get_role(role) for role in djroles]
|
||||
mentioned = [role.name for role in configured_roles if role is not None]
|
||||
embed.description = ', '.join(mentioned)
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
@@ -163,7 +166,7 @@ class Settings(commands.Cog):
|
||||
@checks.is_admin()
|
||||
@commands.guild_only()
|
||||
@_set.command(name='maxduration')
|
||||
async def set_max_track_duration(self, ctx, duration: int = None):
|
||||
async def set_max_track_duration(self, ctx, duration: Optional[int] = None):
|
||||
self.bot.settings.set(ctx.guild, 'duration.max', duration)
|
||||
|
||||
if duration := self.bot.settings.get(ctx.guild, 'duration.max'):
|
||||
|
||||
Reference in new issue
Block a user