Я сам производитель бот-дисков, и иногда у меня возникает эта проблема.Я создал обходной путь для этого.
Вам нужен словарь вместо переменных.Ключом словаря являются атрибуты гильдии, а значением является дата этой гильдии.
Вот мой фрагмент кода:
# 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}
Если вы найдете это полезным, примите этот ответ и поделитесь этим кодом с друзьями.Я думаю, многим это нужно.