mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
[Add] - Position Report | [Fix] - Own Error creation | [Modify] - Move command logic
This commit is contained in:
parent
cbd8ed45f9
commit
63d86e23f9
@ -19,6 +19,7 @@ INVITE_MESSAGE = 'To invite Vulkan to your own server, click [here]({})'
|
|||||||
SONGINFO_UPLOADER = "Uploader: "
|
SONGINFO_UPLOADER = "Uploader: "
|
||||||
SONGINFO_DURATION = "Duration: "
|
SONGINFO_DURATION = "Duration: "
|
||||||
SONGINFO_REQUESTER = 'Requester: '
|
SONGINFO_REQUESTER = 'Requester: '
|
||||||
|
SONGINFO_POSITION = 'Position: '
|
||||||
|
|
||||||
SONGS_ADDED = 'You added {} songs to the queue'
|
SONGS_ADDED = 'You added {} songs to the queue'
|
||||||
SONG_ADDED = 'You added the song `{}` to the queue'
|
SONG_ADDED = 'You added the song `{}` to the queue'
|
||||||
@ -36,7 +37,7 @@ SONG_DOWNLOADING = '📥 Downloading...'
|
|||||||
HISTORY_TITLE = '🎧 Played Songs'
|
HISTORY_TITLE = '🎧 Played Songs'
|
||||||
HISTORY_EMPTY = '📜 There is no musics in history'
|
HISTORY_EMPTY = '📜 There is no musics in history'
|
||||||
|
|
||||||
SONG_MOVED_SUCCESSFULLY = 'Song `{}` in position `{}` moved with `{}` in position `{}` successfully'
|
SONG_MOVED_SUCCESSFULLY = 'Song `{}` in position `{}` moved to the position `{}` successfully'
|
||||||
SONG_REMOVED_SUCCESSFULLY = 'Song `{}` removed successfully'
|
SONG_REMOVED_SUCCESSFULLY = 'Song `{}` removed successfully'
|
||||||
|
|
||||||
LOOP_ALL_ON = f'❌ Vulkan is looping all songs, use {BOT_PREFIX}loop off to disable this loop first'
|
LOOP_ALL_ON = f'❌ Vulkan is looping all songs, use {BOT_PREFIX}loop off to disable this loop first'
|
||||||
@ -68,6 +69,7 @@ INVALID_INPUT = f'This type of input was too strange, try something better or ty
|
|||||||
DOWNLOADING_ERROR = '❌ An error occurred while downloading'
|
DOWNLOADING_ERROR = '❌ An error occurred while downloading'
|
||||||
EXTRACTING_ERROR = '❌ An error ocurred while searching for the songs'
|
EXTRACTING_ERROR = '❌ An error ocurred while searching for the songs'
|
||||||
|
|
||||||
|
MY_ERROR_BAD_COMMAND = 'This string serves to verify if some error was raised by myself on purpose'
|
||||||
BAD_COMMAND_TITLE = 'Misuse of command'
|
BAD_COMMAND_TITLE = 'Misuse of command'
|
||||||
BAD_COMMAND = f'❌ Bad usage of this command, type {BOT_PREFIX}help "command" to understand the command better'
|
BAD_COMMAND = f'❌ Bad usage of this command, type {BOT_PREFIX}help "command" to understand the command better'
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import discord
|
import discord
|
||||||
from discord import Client
|
from discord import Client
|
||||||
from discord.ext.commands.errors import CommandNotFound, MissingRequiredArgument, CommandInvokeError
|
from discord.ext.commands.errors import CommandNotFound, MissingRequiredArgument, UserInputError
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from config import config
|
from config import config
|
||||||
from config import help
|
from config import help
|
||||||
@ -43,14 +43,21 @@ class Control(commands.Cog):
|
|||||||
colour=config.COLOURS['black']
|
colour=config.COLOURS['black']
|
||||||
)
|
)
|
||||||
await ctx.send(embed=embed)
|
await ctx.send(embed=embed)
|
||||||
elif isinstance(error, CommandInvokeError):
|
elif isinstance(error, UserInputError):
|
||||||
embed = discord.Embed(
|
my_error = False
|
||||||
title=config.BAD_COMMAND_TITLE,
|
if len(error.args) > 0:
|
||||||
description=config.BAD_COMMAND,
|
for arg in error.args:
|
||||||
colour=config.COLOURS['black']
|
if arg == config.MY_ERROR_BAD_COMMAND:
|
||||||
)
|
embed = discord.Embed(
|
||||||
await ctx.send(embed=embed)
|
title=config.BAD_COMMAND_TITLE,
|
||||||
|
description=config.BAD_COMMAND,
|
||||||
|
colour=config.COLOURS['black']
|
||||||
|
)
|
||||||
|
await ctx.send(embed=embed)
|
||||||
|
my_error = True
|
||||||
|
break
|
||||||
|
if not my_error:
|
||||||
|
raise error
|
||||||
else:
|
else:
|
||||||
print(error)
|
print(error)
|
||||||
embed = discord.Embed(
|
embed = discord.Embed(
|
||||||
|
|||||||
@ -104,6 +104,7 @@ class Player(commands.Cog):
|
|||||||
|
|
||||||
if songs_quant == 1:
|
if songs_quant == 1:
|
||||||
song = self.__down.download_one(song)
|
song = self.__down.download_one(song)
|
||||||
|
pos = len(self.__playlist)
|
||||||
|
|
||||||
if song == None:
|
if song == None:
|
||||||
embed = discord.Embed(
|
embed = discord.Embed(
|
||||||
@ -119,7 +120,7 @@ class Player(commands.Cog):
|
|||||||
colour=config.COLOURS['blue'])
|
colour=config.COLOURS['blue'])
|
||||||
await ctx.send(embed=embed)
|
await ctx.send(embed=embed)
|
||||||
else:
|
else:
|
||||||
embed = self.__format_embed(song.info, config.SONG_ADDED_TWO)
|
embed = self.__format_embed(song.info, config.SONG_ADDED_TWO, pos)
|
||||||
await ctx.send(embed=embed)
|
await ctx.send(embed=embed)
|
||||||
else:
|
else:
|
||||||
embed = discord.Embed(
|
embed = discord.Embed(
|
||||||
@ -271,7 +272,7 @@ class Player(commands.Cog):
|
|||||||
elif args == 'off':
|
elif args == 'off':
|
||||||
description = self.__playlist.loop_off()
|
description = self.__playlist.loop_off()
|
||||||
else:
|
else:
|
||||||
raise commands.CommandInvokeError('Invalid Arguments in Command')
|
raise commands.UserInputError(config.MY_ERROR_BAD_COMMAND)
|
||||||
|
|
||||||
return description
|
return description
|
||||||
|
|
||||||
@ -338,7 +339,7 @@ class Player(commands.Cog):
|
|||||||
result = self.__playlist.remove_song(position)
|
result = self.__playlist.remove_song(position)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def __format_embed(self, info=dict, title='') -> discord.Embed:
|
def __format_embed(self, info=dict, title='', position='Playing Now') -> discord.Embed:
|
||||||
"""Configure the embed to show the song information"""
|
"""Configure the embed to show the song information"""
|
||||||
embedvc = discord.Embed(
|
embedvc = discord.Embed(
|
||||||
title=title,
|
title=title,
|
||||||
@ -348,7 +349,7 @@ class Player(commands.Cog):
|
|||||||
|
|
||||||
embedvc.add_field(name=config.SONGINFO_UPLOADER,
|
embedvc.add_field(name=config.SONGINFO_UPLOADER,
|
||||||
value=info['uploader'],
|
value=info['uploader'],
|
||||||
inline=True)
|
inline=False)
|
||||||
|
|
||||||
embedvc.add_field(name=config.SONGINFO_REQUESTER,
|
embedvc.add_field(name=config.SONGINFO_REQUESTER,
|
||||||
value=info['requester'],
|
value=info['requester'],
|
||||||
@ -367,6 +368,10 @@ class Player(commands.Cog):
|
|||||||
value=config.SONGINFO_UNKNOWN_DURATION,
|
value=config.SONGINFO_UNKNOWN_DURATION,
|
||||||
inline=True)
|
inline=True)
|
||||||
|
|
||||||
|
embedvc.add_field(name=config.SONGINFO_POSITION,
|
||||||
|
value=position,
|
||||||
|
inline=True)
|
||||||
|
|
||||||
return embedvc
|
return embedvc
|
||||||
|
|
||||||
async def __timeout_handler(self) -> None:
|
async def __timeout_handler(self) -> None:
|
||||||
|
|||||||
@ -147,10 +147,10 @@ class Playlist(IPlaylist):
|
|||||||
break
|
break
|
||||||
|
|
||||||
def move_songs(self, pos1, pos2) -> str:
|
def move_songs(self, pos1, pos2) -> str:
|
||||||
"""Receive two position and try to change the songs in those positions, -1 is the last
|
"""Try to move the song in pos1 to pos2, -1 is the last
|
||||||
|
|
||||||
Positions: First music is 1
|
Positions: First music is 1
|
||||||
Return (Error bool, string) with the status of the function, to show to user
|
Return: String with the status of the function, to show to user
|
||||||
"""
|
"""
|
||||||
if pos1 == -1:
|
if pos1 == -1:
|
||||||
pos1 = len(self.__queue)
|
pos1 = len(self.__queue)
|
||||||
@ -161,16 +161,13 @@ class Playlist(IPlaylist):
|
|||||||
return config.LENGTH_ERROR
|
return config.LENGTH_ERROR
|
||||||
|
|
||||||
try:
|
try:
|
||||||
song1 = self.__queue[pos1-1]
|
song = self.__queue[pos1-1]
|
||||||
song2 = self.__queue[pos2-1]
|
self.__queue.remove(song)
|
||||||
|
self.__queue.insert(pos2-1, song)
|
||||||
|
|
||||||
self.__queue[pos1-1] = song2
|
song1_name = song.title if song.title else song.identifier
|
||||||
self.__queue[pos2-1] = song1
|
|
||||||
|
|
||||||
song1_name = song1.title if song1.title else song1.identifier
|
return config.SONG_MOVED_SUCCESSFULLY.format(song1_name, pos1, pos2)
|
||||||
song2_name = song2.title if song2.title else song2.identifier
|
|
||||||
|
|
||||||
return config.SONG_MOVED_SUCCESSFULLY.format(song1_name, pos1, song2_name, pos2)
|
|
||||||
except:
|
except:
|
||||||
return config.ERROR_MOVING
|
return config.ERROR_MOVING
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user