【问题标题】:Reading data from a text file (discord.py)从文本文件中读取数据 (discord.py)
【发布时间】:2021-06-12 08:05:34
【问题描述】:

我目前正在为我的 Discord Bot 开发一项功能,该功能可以存储不同游戏平台的用户名,例如; Steam,Battle.net,Epic Games等。每当我要执行特定命令并在公会中提及用户时,它都会读取文本文件并发送与其不和谐关联的每个启动器的所有用户名来自嵌入中的文本文件的帐户。我不确定我应该如何创建这样的命令,因为我没有使用 Python 记录信息的经验。

我有一点我创造的想法

@client.command()   
@commands.has_permissions(administrator=True)   
async def connections(ctx, member: discord.Member):    
    embed=discord.Embed(
        title="CONNECTIONS",
        description="Connections associated with **"+ str(member) + ("**."),
        color=0xfffffD
    )     
    embed.add_field(name="Steam", value="steam_name", inline=False)     
    await ctx.send(embed=embed)

每次我在命令末尾提到一个用户时,它应该打开一个文件并在文件中查找该用户,然后它应该找到与之关联的连接,例如steam_name

如果可能,我希望获得有关创建此功能的帮助。

谢谢,地平线

【问题讨论】:

  • 你有试过的代码吗?
  • @JacobLee 我有一个想法,我已经创建了@client.command() @commands.has_permissions(administrator=True) async def connections(ctx, member: discord.Member): embed=discord.Embed(title="CONNECTIONS", description="Connections associated with **"+ str(member) + ("**."), color=0xfffffD) embed.add_field(name="Steam", value="steam_name", inline=False) await ctx.send(embed=embed) 每次我在命令末尾提到一个用户时,它应该打开一个文件并在文件中查找该用户,然后它应该找到与之关联的连接,例如steam_name
  • 如果可以,请将其添加到您的问题中,因为它更易于阅读。
  • @JacobLee 完成 :)

标签: python discord discord.py


【解决方案1】:

我强烈建议不要使用 .txt 文件来存储您将提取或更新的信息。我建议使用 JSON 文件。 JSON 格式特别适合以面向对象的方式存储少量信息。看看这个简单的例子:

"Spinduck#1704" : {

    "Epic Games" : "Spinnyskull",
    "Steam" : None,
    "Origin" : "Spinduck5384",
    "Xbox" : "Sppppiiiinn"

},
"Papa Frita#1973" : {

    "Epic Games" : None,
    "Steam" : None,
    "Origin" : None,
    "Xbox" : "PapaFrita"

}

这使得提取、更新和通常使用存储信息变得更加容易。在此处使用其中一些资源阅读有关 Python 和 JSON 的更多信息:

https://realpython.com/python-json/

https://www.w3schools.com/python/python_json.asp

https://www.programiz.com/python-programming/json

https://stackabuse.com/reading-and-writing-json-to-a-file-in-python/

【讨论】:

  • 当然我会试一试,如果我有更多困难我会告诉你的,谢谢:)
  • 我如何能够检查并找到与执行该命令的行会中的用户关联的文件中的列表?
  • 您可以使用 for 循环遍历 JSON 文件并检查文件中的任何实例是否与调用该命令的用户名的人匹配。
猜你喜欢
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 2012-06-10
  • 2020-05-26
  • 2023-03-06
  • 2015-08-11
  • 1970-01-01
相关资源
最近更新 更多