我想为我的 discord 机器人创建这个命令,它存储一堆用户说的消息列表,然后有一个命令随机选择它们

I want to create this command for my discord bot that stores a list of messages that a bunch of users say then have a command to randomly choose them

有关更多详细信息,我想为我的机器人创建一个命令,该命令接收消息并将其存储在某个地方,例如新文件或类似文件中,并让新命令从该新文件发送消息。我想知道我是应该使用 json 还是制作一个 .txt 文件。

我的代码:

@bot.event
async def on_message(message):
    if message.author.bot:
        return

    if message.content == "echo":
        echomessage = (message.content)
        await message.channel.send(f"{echomessage} has been added to a list of messages")

    await bot.process_commands(message)

@bot.command()
async def echo(ctx):
    await ctx.send(f"{ctx.author.mention} {echomessage[random.randint(0, len(echomessage) - 1)]}")

我知道我有一个事件,我想在某个时候将其作为命令,但如果我不能,那么我就保持原样。

感谢所有愿意帮助我的人!我真的很欣赏它。

您可以简单地将其保存到文件中并随机选择一个。

使用readlines,只需将每个要使用的单词写在自己的行中,系统会自动选择一个随机单词。

@bot.command()
async def addword(ctx, *, word: str):
    with open('words.txt', 'a') as f:
        f.write(f'{word}\n')

@bot.command()
@commands.cooldown(5, 20.0, commands.BucketType.guild)  # Highly recommended, io is precious. You can also keep this file permanently opened and store it in your client at startup.
async def echo(ctx):
    with open('words.txt') as f:
        await ctx.send(random.choice(f.readlines()))