From 631ceb64eef99e379bf50dc4eb96a46154550459 Mon Sep 17 00:00:00 2001 From: yuki Date: Mon, 6 Oct 2025 23:31:44 -0300 Subject: [PATCH] create fm command --- main.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/main.py b/main.py index 4ffd14a..36552ac 100644 --- a/main.py +++ b/main.py @@ -24,6 +24,41 @@ client = nerimity.Client( async def ping(ctx: nerimity.Context): await ctx.send("Pong!") +# fm command +@client.command(name="fm", aliases=["np"]) +@client.slash_command(name="fm", description="Shows what you're currently playing") +async def fm(ctx: nerimity.Context, params: str = ""): + username = "" + + if params == "": + username = "kaaisudev" + else: + username = params + + try: + track = network.get_user(username).get_now_playing() + if track == None: + now_playing = False + played_track = network.get_user(username).get_recent_tracks(limit=1) + track = played_track[0].track + + else: + now_playing = True + + track_url = track.get_url() + track_name = track.get_name() + track_artist = track.get_artist().get_name() + track_artist_url = track.get_artist().get_url() + + if now_playing == True: + await ctx.send(f"Now playing for **{username}**: [{track_name}]({track_url}) by [{track_artist}]({track_artist_url})") + else: + await ctx.send(f"Last played for **{username}**: [{track_name}]({track_url}) by [{track_artist}]({track_artist_url})") + except IndexError: + await ctx.send("[#e5323b]Error: User has no recent tracks or they're set to private.") + except pylast.WSError: + await ctx.send("[#e5323b]Error: User not found.") + @client.listen("on_ready") async def on_ready(params): print(f"Logged in as {client.account.username}")