1. Для удаления бота с определенного сервера вам нужно использовать метод `bot.remove_from_guild(guild_id)`, где `guild_id` - идентификатор сервера, с которого вы хотите удалить бота. Пример:
```python
@bot.command()
async def remove_from_server(ctx):
guild_id = 1234567890
guild = bot.get_guild(guild_id)
if guild:
await bot.remove_from_guild(guild)
await ctx.send(f"Бот успешно удален с сервера {guild.name}")
else:
await ctx.send("Указанный сервер не найден")
```
2. Для обеспечения выключения бота на серверах с параметром `active==false` в JSON-конфигурации, вы можете использовать глобальный декоратор, который будет проверять данный параметр перед выполнением каждой команды. Пример:
```python
def check_active(func):
async def wrapper(ctx, *args, **kwargs):
if not bot.active:
await ctx.send("Бот отключен на данном сервере")
else:
await func(ctx, *args, **kwargs)
return wrapper
@bot.command()
@check_active
async def command_example(ctx):
await ctx.send("Пример команды")
```
Таким образом, вы можете использовать декоратор `check_active` для проверки параметра `active` перед выполнением каждой команды.