Repository: Cog-Creators/Red-DiscordBot

Issue:
[Core] [p]set game command should return the new status text and not just a "Set" message.
# Enhancement

<!-- This template is for feature requests. Please fill out the following: -->


#### Select the type of feature you are requesting:

<!-- To check a box, replace the space between the [] with a x -->

- [ ] Cog
- [X] Command
- [ ] API functionality

#### Describe your requested feature

<!--
Feel free to describe in as much detail as you wish.

If you are requesting a cog to be included in core: 
    - Describe the functionality in as much detail as possible
    - Include the command structure, if possible
    - Please note that unless it's something that should be core functionality,
      we reserve the right to reject your suggestion and point you to our cog 
      board to request it for a third-party cog
      
If you are requesting a command:
    - Include what cog it should be in and a name for the command
    - Describe the intended functionality for the command
    - Note any restrictions on who can use the command or where it can be used

If you are requesting API functionality:
    - Describe what it should do
    - Note whether it is to extend existing functionality or introduce new functionality
   
-->
The ``[p]set game``, ``[p]set watching`` and ``[p]set listening`` commands currently just return a generic "Set" message. I think adding what text is now displayed as status in the confirmation message, would look better and feel more polished than just having a "set" message.

I can PR this if it's something that you guys would want to implement but maybe you have a reason for not doing it?


Discussion:

Resolving patch:
diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py
--- a/redbot/core/core_commands.py
+++ b/redbot/core/core_commands.py
@@ -1077,13 +1077,21 @@ async def avatar(self, ctx: commands.Context, url: str):
     async def _game(self, ctx: commands.Context, *, game: str = None):
         """Sets [botname]'s playing status"""
 
-        if game:
-            game = discord.Game(name=game)
+        if len(game) > 128:
+            await ctx.send("The maximum length of game descriptions is 128 characters.")
         else:
-            game = None
-        status = ctx.bot.guilds[0].me.status if len(ctx.bot.guilds) > 0 else discord.Status.online
-        await ctx.bot.change_presence(status=status, activity=game)
-        await ctx.send(_("Game set."))
+            if game:
+                game = discord.Game(name=game)
+            else:
+                game = None
+            status = (
+                ctx.bot.guilds[0].me.status if len(ctx.bot.guilds) > 0 else discord.Status.online
+            )
+            await ctx.bot.change_presence(status=status, activity=game)
+            if game:
+                await ctx.send(_(f"Status set to ``Playing {game.name}``."))
+            else:
+                await ctx.send(_("Game cleared."))
 
     @_set.command(name="listening")
     @checks.bot_in_a_guild()
@@ -1097,7 +1105,10 @@ async def _listening(self, ctx: commands.Context, *, listening: str = None):
         else:
             activity = None
         await ctx.bot.change_presence(status=status, activity=activity)
-        await ctx.send(_("Listening set."))
+        if activity:
+            await ctx.send(_(f"Status set to ``Listening to {listening}``."))
+        else:
+            await ctx.send(_("Listening cleared."))
 
     @_set.command(name="watching")
     @checks.bot_in_a_guild()
@@ -1111,7 +1122,10 @@ async def _watching(self, ctx: commands.Context, *, watching: str = None):
         else:
             activity = None
         await ctx.bot.change_presence(status=status, activity=activity)
-        await ctx.send(_("Watching set."))
+        if activity:
+            await ctx.send(_(f"Status set to ``Watching {watching}``."))
+        else:
+            await ctx.send(_("Watching cleared."))
 
     @_set.command()
     @checks.bot_in_a_guild()


Test patch: