python Discord.py 重写多服务器数据

6jygbczu  于 2023-05-27  发布在  Python
关注(0)|答案(1)|浏览(139)

所以我已经使用discord.py一段时间了,最近切换到discord.py-rewrite。我似乎找不到任何关于如何做到这一点。但我想有像每个公会的数据。例如,如果机器人是在Server 1Owner1-prefix !!,它会添加到他们的前缀,但只在他们的公会。所以它不是Server2中的前缀。任何帮助将是伟大的。我被告知我可以用JSON文件做到这一点,但找不到任何我想要的东西。

dgjrabp2

dgjrabp21#

我是一个不和谐的机器人制造商自己,有时我有这个问题。我为此创建了一个解决方案。
你需要的是字典而不是变量。字典的键是公会属性,值是该公会的日期。
下面是我的代码片段:

# Changing variables and setting them
#--------------------------------------------------------------

# Changing the values of a dictionary.
def guildvarchg(variable, guild, value): # Guild Variable Change
    for key in variable.keys(): # Do not change any of this.
        if key == guild:
            variable[key] = value

# To get a certain guild's variable, add [guild id] to the dictionary name.
# For example: variable[ctx.author.guild] # takes the data for that guild

# You are going to run into a first time setup issue. 
# To counter this, and for every new guild, add this if statement:

if ctx.author.guild not in variable: # only use this in a command definition
    variable[ctx.author.guild] = 'New value' # adds a new server to the data.
else:
    guildvarchg(variable, ctx.author.guild, new_value) # <<< overwrites the server data

#--------------------------------------------------------------

建议您在运行前创建所有变量[字典]

variable{None:None} # Format after setting: variable{guild_id, data}

相关问题