저번 포스팅에 이어 유저를 관리하는 것을 배워보겠다. 이번엔 역할 추가 및 차단 해제를 해보겠다.
6. 유저 관리1과 조금 다르게 추가할 역할과 차단 목록이 있어야한다.
일단 테스트로 추가할 역할 new를 만들어 보겠다.
또, 테스트를 위해 velogTest를 차단목록에 올려 놓겠다.
@bot.command(aliases=['역할부여'])
async def role_user(ctx, nickname: discord.Member, role_name):
roles = ctx.guild.roles
for role in roles:
if role_name == role:
await nickname.add_roles(role)
return await ctx.send(f"{nickname} 님에게 {role_name} 역할이 부여 되었습니다.")
return await ctx.send(f"{role_name} 역할이 존재하지 않습니다.")
@bot.command(aliases=['해제'])
async def unban_user(ctx, nickname: str):
ban_entry = await ctx.guild.bans()
for users in ban_entry:
if nickname == users.user.name:
forgive_user = users.user
await ctx.guild.unban(forgive_user)
return await ctx.send(f"{nickname} 님이 차단 해제되었습니다.")
return await ctx.send(f"{nickname} 님은 차단 목록에 없습니다.")
이전 포스팅과 비슷하다
Forbidden
권한이 없을 때 발생한다. 권한을 확인하자.
BadArgument
discord.Member 형식이 아닌 일반 문자열로 유저명을 입력 했을 때 발생한다. @유저명으로 멘션하듯이 입력하자.
MissingRequiredArgument
매번 보는 오류처럼 매번 같은 이유로 명령어만 입력하고 유저이름/역할이름을 입력하지 않았을 때 발생한다.
두 개의 포스팅에서 유저 관리를 하는 방법을 알아봤다. 이런 기능으로 서버 유저 관리에 조금이나마 불편함을 덜 수 있기를 바란다.
time.sleep(259200)