【问题标题】:discord.py get a server prefix from .json filediscord.py 从 .json 文件中获取服务器前缀
【发布时间】:2021-03-16 18:08:21
【问题描述】:

我刚开始使用 discord.py(Python 3.8;discord.py 1.5.1)编写 discord 机器人,但遇到了问题。当他/她使用我的自定义帮助命令(它只返回一个包含所有命令和前缀的字符串)时,我想为用户提供服务器前缀。我已将服务器的前缀存储在 .json 文件中,但如何从该文件中返回服务器前缀?

如果您需要我的代码的某些部分来找到解决方案,请告诉我。

【问题讨论】:

  • 你能上传你的json文件的sn-p代码吗?
  • { "781524858026590218": "k-" }这是你想要的吗?
  • 我已经提交了答案,如果您想要的话,请告诉我。

标签: python python-3.x discord discord.py


【解决方案1】:

假设这是您的 prefixes.json 文件:

{
    "781524858026590218": "k-"
}

您可以获取公会的 ID 并让它检查 json 文件中的前缀:

import json

@client.command()
async def GetPrefix(ctx):
    with open("prefixes.json", "r") as f:
        data = json.loads(f.read())
        guildID = str(ctx.guild.id)
        prefix = data[guildID]
        await ctx.send("Prefix:", prefix)

【讨论】:

  • 我在 cog 中使用了代码,但由于某种原因它不再起作用 @commands.command() async def ping(self, ctx): with open("./prefixes.json", "r") as f: data = json.loads(f.read()) guildID = str(ctx.guild.id) prefix = data[guildID] await ctx.send(f"pong; {round(self.client.latency * 1000)}ms") print(f"{ctx.message.author} triggered '{prefix}ping'")
  • 抱歉,有点难读,但我不知道如何解决
  • 另外,您可以简单地使用ctx.prefix,这样会容易得多。
  • 我没有收到任何错误,我只是在触发命令时不再收到来自机器人的不和谐消息
  • 您需要为此发布另一个问题。
猜你喜欢
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
  • 2021-10-01
  • 2021-12-04
  • 2021-07-05
  • 2020-08-24
  • 1970-01-01
相关资源
最近更新 更多