diff --git a/README.md b/README.md index 2ecdf51..2f53825 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Cog Function | secrethitler | **Incomplete** |
Play the Secret Hitler gameConcept, no work done yet
| | stealemoji | **Alpha** |
Steals any custom emoji it sees in a reactionSome planned upgrades for server generation
| | timerole | **Alpha** |
Add roles to members after specified time on the serverUpgraded from V2, please report any bugs
| +| tts | **Alpha** |
Send a Text-to-Speech message as an uploaded mp3Initial release, please report any bugs
| | werewolf | **Alpha** |
Play the classic party game Werewolf within discordAnother massive project currently being developed, will be fully customizable
| diff --git a/tts/__init__.py b/tts/__init__.py new file mode 100644 index 0000000..47959b8 --- /dev/null +++ b/tts/__init__.py @@ -0,0 +1,5 @@ +from .tts import TTS + + +def setup(bot): + bot.add_cog(TTS(bot)) diff --git a/tts/info..json b/tts/info..json new file mode 100644 index 0000000..babe7fc --- /dev/null +++ b/tts/info..json @@ -0,0 +1,22 @@ +{ + "author": [ + "Bobloy" + ], + "bot_version": [ + 3, + 0, + 0 + ], + "description": "Send Text2Speech messages as an uploaded mp3", + "hidden": true, + "install_msg": "Thank you for installing TTS. Get started with `[p]tts`", + "requirements": [ + "gTTS" + ], + "short": "Send TTS messages as uploaded mp3", + "tags": [ + "bobloy", + "utils", + "audio" + ] +} \ No newline at end of file diff --git a/tts/tts.py b/tts/tts.py new file mode 100644 index 0000000..dcae0be --- /dev/null +++ b/tts/tts.py @@ -0,0 +1,34 @@ +import io + +import discord +from gtts import gTTS +from redbot.core import Config, commands +from redbot.core.bot import Red + + +class TTS: + """ + V3 Cog Template + """ + + def __init__(self, bot: Red): + self.bot = bot + + self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) + default_global = {} + default_guild = {} + + self.config.register_global(**default_global) + self.config.register_guild(**default_guild) + + @commands.command(aliases=["t2s", "text2"]) + async def tts(self, ctx: commands.Context, *, text: str): + """ + My custom cog + + Extra information goes here + """ + mp3_fp = io.BytesIO() + tts = gTTS(text, 'en') + tts.write_to_fp(mp3_fp) + await ctx.send(file=discord.File(mp3_fp.getvalue(), "text.mp3"))