首页 > 解决方案 > 我需要我的机器人读取单词列表(作为文本文件)并随机发送其中一个单词。不和谐.py

问题描述

所以,我在我的机器人上设置了一个命令,每当有人键入“/planeidea”时,它都会发送飞机的名称,但是,我喜欢 300 行飞机名称。(我减少了它,所以你可以看到我在说什么的例子)。我想做的是制作一个 .txt 文件并放置所有飞机的名称,而不是将其放在主代码中。

        @client.command()
    @commands.cooldown(1, 5, commands.BucketType.user)
    async def planeidea(ctx):
      responses = ("P-51", "Me-109", "Spitfire", "Handley Page Hampden",
    "Avro lanson",
    "Fairy battle",
    "Bristol Bleinheim",
    "B24 liberator",
    "B26 marauder",
    "A20 Havoc",
    "Bristol beaufort",
    "Short stirling",
    "Lockheed hudson",
    "Avro york",
    "PBY Catalina",
    "Brewster SB2A Buccaneer",
   "Avro manchaster",
   "Heinkel he 111Z",
   "Dornier do 17",
   "Dornier do 217",
   "Dornier do 317",
   "Junkers ju 188",
   "Junkers ju 288",
   "Junkers ju 388",
   "Junkers ju 488",)

  reply = random.choice(responses)
  mama = discord.Embed(title=f"Plane idea machine:",description=(reply), color=0xe74c3c)
  await ctx.send(embed=mama) 

我不知道你是否明白我在说什么,我是这方面的新手。

标签: pythonlistdiscord.pybots

解决方案


好的,所以你可以创建一个纯文本文件,在我的示例中,我将使用planes.txt. 在里面planes.txt,我可以逐行列出我的飞机,不带引号或逗号:

P-51
Me-109
etc...

在我的代码中,我可以打开文本文件并拆分行以使自己成为一个列表:

with open("planes.txt", "r") as planes:
    responses = planes.read().splitlines()

推荐阅读