complete restructure
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
"""Bot-vs-bot conversation commands."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from discord.ext import commands
|
||||
|
||||
from vibe_bot.commands._state import require_app, set_app
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from discord.ext.commands import Bot
|
||||
from discord.ext.commands import Context as CommandsContext
|
||||
|
||||
from vibe_bot.app import App
|
||||
|
||||
MIN_TALKFORME_PARTS = 4
|
||||
|
||||
|
||||
def register(bot: commands.Bot, app: App) -> None:
|
||||
"""Register the conversation commands."""
|
||||
set_app(app)
|
||||
bot.command(name="talkforme")(talkforme)
|
||||
|
||||
|
||||
@commands.cooldown(rate=1, per=30, type=commands.BucketType.user)
|
||||
async def talkforme(ctx: CommandsContext[Bot], *, message: str) -> None:
|
||||
"""Have two bots talk to each other about a topic.
|
||||
|
||||
Usage: !talkforme bot1 bot2 4 some conversation topic
|
||||
"""
|
||||
app = require_app()
|
||||
parts = message.split(" ", maxsplit=MIN_TALKFORME_PARTS - 1)
|
||||
if len(parts) < MIN_TALKFORME_PARTS:
|
||||
await ctx.send("Usage: !talkforme bot1 bot2 <number> <topic>")
|
||||
return
|
||||
|
||||
await app.conversation.run(ctx, parts[0], parts[1], parts[2], " ".join(parts[3:]))
|
||||
Reference in New Issue
Block a user