mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Miglioramenti al musicbot e altre piccole cose
This commit is contained in:
parent
673e3892c1
commit
87e492127d
2 changed files with 70 additions and 0 deletions
|
@ -308,6 +308,14 @@ async def on_message(message: discord.Message):
|
|||
await cmd_play(channel=message.channel,
|
||||
author=message.author,
|
||||
params=message.content.split(" "))
|
||||
elif message.content.startswith("!remove"):
|
||||
await cmd_remove(channel=message.channel,
|
||||
author=message.author,
|
||||
params=message.content.split(" "))
|
||||
elif message.content.startswith("!queue"):
|
||||
await cmd_queue(channel=message.channel,
|
||||
author=message.author,
|
||||
params=message.content.split(" "))
|
||||
elif message.content.startswith("!cast"):
|
||||
try:
|
||||
spell = message.content.split(" ", 1)[1]
|
||||
|
@ -332,6 +340,8 @@ async def update_users_pipe(users_connection):
|
|||
if msg == "/cv":
|
||||
discord_members = list(client.get_server(config["Discord"]["server_id"]).members)
|
||||
users_connection.send(discord_members)
|
||||
if msg == "/uranium":
|
||||
add_video_from_url("https://www.youtube.com/watch?v=iutuQbMAx04")
|
||||
|
||||
|
||||
def command(func):
|
||||
|
@ -465,6 +475,51 @@ async def cmd_play(channel: discord.Channel, author: discord.Member, params: typ
|
|||
await client.send_message(channel, f"✅ Video aggiunto alla coda.")
|
||||
|
||||
|
||||
@command
|
||||
@requires_cv
|
||||
async def cmd_skip(channel: discord.Channel, author: discord.Member, params: typing.List[str]):
|
||||
global voice_player
|
||||
voice_player.stop()
|
||||
await client.send_message(channel, f"⏩ Video saltato.")
|
||||
|
||||
|
||||
@command
|
||||
@requires_cv
|
||||
async def cmd_remove(channel: discord.Channel, author: discord.Member, params: typing.List[str]):
|
||||
if len(voice_queue) == 0:
|
||||
await client.send_message(channel, "⚠ Non c'è nessun video in coda.")
|
||||
return
|
||||
if len(params) < 2:
|
||||
index = len(voice_queue) - 1
|
||||
else:
|
||||
try:
|
||||
index = int(params[1]) - 1
|
||||
except ValueError:
|
||||
await client.send_message(channel, "⚠ Il numero inserito non è valido.\n"
|
||||
"Sintassi: `!remove [numerovideo]`")
|
||||
return
|
||||
if abs(index) >= len(voice_queue):
|
||||
await client.send_message(channel, "⚠ Il numero inserito non corrisponde a nessun video nella playlist.\n"
|
||||
"Sintassi: `!remove [numerovideo]`")
|
||||
return
|
||||
video = voice_queue.pop(index)
|
||||
await client.send_message(channel, f":regional_indicator_x: {str(video)} è stato rimosso dalla coda.")
|
||||
|
||||
|
||||
@command
|
||||
async def cmd_queue(channel: discord.Channel, author: discord.Member, params: typing.List[str]):
|
||||
if len(voice_queue) == 0:
|
||||
await client.send_message(channel, "**Video in coda:**\n"
|
||||
"nessuno")
|
||||
return
|
||||
msg = "**Video in coda:**\n"
|
||||
for index, video in enumerate(voice_queue[:10]):
|
||||
msg += f"{queue_emojis[index]} {str(video)}\n"
|
||||
if len(voice_queue) > 10:
|
||||
msg += f"più altri {len(voice_queue) - 10} video!"
|
||||
await client.send_message(channel, msg)
|
||||
|
||||
|
||||
async def queue_predownload_videos():
|
||||
while True:
|
||||
for index, video in enumerate(voice_queue[:int(config["YouTube"]["predownload_videos"])].copy()):
|
||||
|
|
|
@ -351,6 +351,20 @@ def cmd_ban(bot: Bot, update: Update):
|
|||
session.close()
|
||||
|
||||
|
||||
def cmd_eat(bot: Bot, update: Update):
|
||||
try:
|
||||
food: str = update.message.text.split(" ", 1)[1].capitalize()
|
||||
except IndexError:
|
||||
bot.send_message(update.message.chat.id, "⚠️ Non hai specificato cosa mangiare!\n"
|
||||
"Sintassi corretta: `/food <cibo>`")
|
||||
return
|
||||
if food == "Uranio" and discord_connection is not None:
|
||||
bot.send_message(update.message.chat.id, f"☢️ Ti senti improvvisamente radioattivo.")
|
||||
discord_connection.send("/uranium")
|
||||
return
|
||||
bot.send_message(update.message.chat.id, f"🍗 Hai mangiato {food}!")
|
||||
|
||||
|
||||
def process(arg_discord_connection):
|
||||
print("Telegrambot starting...")
|
||||
if arg_discord_connection is not None:
|
||||
|
@ -369,6 +383,7 @@ def process(arg_discord_connection):
|
|||
u.dispatcher.add_handler(CommandHandler("diario", cmd_diario))
|
||||
u.dispatcher.add_handler(CommandHandler("vote", cmd_vote))
|
||||
u.dispatcher.add_handler(CommandHandler("ban", cmd_ban))
|
||||
u.dispatcher.add_handler(CommandHandler("eat", cmd_eat))
|
||||
u.dispatcher.add_handler(CallbackQueryHandler(on_callback_query))
|
||||
u.bot.send_message(config["Telegram"]["main_group"],
|
||||
f"ℹ Royal Bot avviato e pronto a ricevere comandi!\n"
|
||||
|
|
Loading…
Reference in a new issue