diff options
Diffstat (limited to 'teawie_bot/bot.py')
| -rw-r--r-- | teawie_bot/bot.py | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/teawie_bot/bot.py b/teawie_bot/bot.py new file mode 100644 index 0000000..835783a --- /dev/null +++ b/teawie_bot/bot.py @@ -0,0 +1,93 @@ +import discord +from discord import app_commands +from discord.ext import commands + +from teawie_bot import utils +from teawie_bot.apis import guzzle + +SERVER_ID = discord.Object(id=1055663552679137310) +intents = discord.Intents.default() +intents.message_content = True # pylint: disable=assigning-non-slot +bot = commands.Bot(command_prefix="t!", + description="teawie time", + intents=intents) + + +async def on_ready(): + print(f"logged in as {bot.user}") + await bot.tree.sync(guild=SERVER_ID) + bot.teawies = utils.Teawies(bot) + print("ready!") + + +async def on_message(message: discord.Message): + if message.author == bot.user: + return + + echo_messages = [ + "🗿", + ] + echo_messages = echo_messages + bot.teawies.emojis + try: + index = echo_messages.index(message.content.lower()) + await message.channel.send(echo_messages[index]) + except ValueError: + pass + + await bot.process_commands(message) + + +async def ask(ctx: commands.Context): + await ctx.send(utils.get_random_response(bot)) + + + name="ask", + description="ask lord teawie a question and they shall respond", + guild=SERVER_ID) +async def ask_slash_command(interaction: discord.Interaction, question: str): # pylint: disable=unused-argument + msg = utils.get_random_response(bot) + await interaction.response.send_message(msg) + + +async def teawiespam(ctx: commands.Context): + emoji = str(discord.utils.get(bot.emojis, name="teawiesmile")) + msg = str() + for _ in range(50): + msg += emoji + + await ctx.send(msg) + + [email protected](name="copypasta", + description="send funni copypasta", + guild=SERVER_ID) +@app_commands.choices(choices=[ + app_commands.Choice(name="happymeal", value="happymeal"), + app_commands.Choice(name="ismah", value="ismah"), + app_commands.Choice(name="sus", value="sus"), + app_commands.Choice(name="ticktock", value="ticktock"), + app_commands.Choice(name="amongus_sus", value="amongus_sus"), + app_commands.Choice(name="egrill", value="egrill"), + app_commands.Choice(name="dvd", value="dvd"), +]) +async def copypasta(interaction: discord.Interaction, + choices: app_commands.Choice[str]): + msgs = utils.get_copypasta(choices.value) + for i, msg in enumerate(msgs): + if i == 0: + await interaction.response.send_message(msg) + else: + await interaction.channel.send(msg) + + [email protected](name="random_teawie", + description="get a random teawie!", + guild=SERVER_ID) +async def random_teawie(interaction: discord.Interaction): + msg = guzzle.get_random_teawie() + await interaction.response.send_message(msg) |
