@QweRez

Как сделать что бы при вводе команды бот выдавал роль?

Попробовал что то такое но не сработало
import discord
from discord.ext import commands
intents = discord.Intents(messages=True, guilds=True)
intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix='!', intents=intents)
@client.event
async def on_ready():
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="#Общение"))
    print("Bot is ready!")

@client.command()
async def admin(ctx):
	user = ctx.author
	role = discords.utils.get( user.guild.roles, id = 852691194433503232 )
	await user.add_roles(role)
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
Allan-BlackWell
@Allan-BlackWell
Ничтожество :D
1. При написании была допущена ошибка в слове discord (Лишняя s сзади)
2. Для использования discord.utils - его надо импортировать отдельно
3. (Это конечно ваше дело) Меня напрягают как у вас прописаны интесты, вы сначала их задаете на сообщения и сервера, потом устанавливаете дефолтные с пользователями (Проще тогда уже использовать discord.Intents.all())

import discord
import discord.utils

from discord.ext import commands

intents = discord.Intents(messages=True, guilds=True)
intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix='!', intents=intents)

@client.event
async def on_ready():
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="#Общение"))
    print("Bot is ready!")

@client.command()
async def admin(ctx):
  member = ctx.author
  role   = discord.utils.get(member.guild.roles, id = 852691194433503232)
  
  await member.add_roles(role)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы