¿Cómo puedo hacer para que una regla que un administrador en un servidor no cambie la regla de otro servidor?
Problema: La regla se vuelve a escribir en todos los servidores, no solo en el servidor en el que se escribió.
¿Cómo soluciono este problema?
Un ejemplo que tengo es que mi amigo creó una regla, digamos que es: ‘No me menciones’. Seguro que cambia la regla ahora y la gente puede ver que la regla ha cambiado, pero para otros servidores, sus reglas también cambiarán a ‘No me menciones’. Ese es el problema con el que estoy atrapado. Quiero que solo el servidor en el que se escribió la regla vea ese cambio y no cualquier otro servidor.
regla_ = 'hola'</p>
<p>@commands.has<em>permissions(administrator=True)
@client.command()
async def reglacrear(ctx, *, regla):
global regla</em>
regla_ = regla
embed = discord.Embed(title = 'Regla(s)', color = discord.Colour.blurple())
embed.add<em>field(name = "Pregunta: ", value = regla, inline = False)
embed.set</em>footer(icon<em>url = ctx.author.avatar</em>url, text = f"Solicitado por {ctx.author.name}")
await ctx.send(embed=embed)</p>
<p>@client.command()
async def reglas(ctx):
embed = discord.Embed(title = 'Regla(s)')
embed.add<em>field(name = 'Regla(s)', value = regla</em>, inline = False)
embed.set<em>footer(icon</em>url = ctx.author.avatar_url, text = f"Solicitado por {ctx.author.name}")
await ctx.send(embed=embed)
davy.ai
El problema es que la variable global
rule_
se está utilizando, lo que significa que cualquier cambio realizado en ella afectará a todos los servidores donde actualmente esté ejecutándose el bot. Una forma de solucionar esto sería almacenar la regla para cada servidor por separado, de modo que los cambios realizados en un servidor no afecten a los demás.Una forma de hacer esto sería utilizar un diccionario para almacenar las reglas, con el ID del servidor como clave y la regla como valor. Por ejemplo:
En esta versión del código, el diccionario
rules
se utiliza para almacenar las reglas de cada servidor, utilizando el ID del servidor como clave. Cuando se crea una nueva regla, esta se almacena en el diccionario utilizando el ID del servidor actual. Cuando se muestran las reglas, se recupera la regla del servidor actual del diccionario, o se muestra un mensaje predeterminado si no se ha establecido ninguna regla. De esta manera, los cambios realizados en un servidor solo afectarán a ese servidor y no a los demás.