2017-11-02 11 views
-1

코드는 'Noobies'역할과 'Level 0'역할을 모든 새로운 결합 자에게 자동으로 할당 할 수 있어야합니다. 필자는 누군가가 자동으로 조인 할 때 역할을 할당하도록 명령을 사용하는 것으로부터 코드를 수정하려고 시도했지만, message.server.roles가 그것을 던지고 있으며 수정 방법을 모른다. 이것은 내 첫 번째 로봇이므로 부드럽게하십시오.파이썬에서 자동 봇을 만드는 법 (discord.py)

@bot.async_event 

async def on_member_join(Member : discord.User): 

    roles = [ 
     # IDs of the roles for the teams 
     "333674108799942666", 
     "351957337453363204", 
    ] 

    team_list = ["Noobies", "Level 0"] 
    #entered_team = message.content[6:].lower() 
    for team in team_list: 

     role = discord.utils.get(message.server.roles, name=team) 
     try: 
      await client.add_roles(Member.name, role) 
     except Exception as e: 
       await bot.send_message(bot.get_channel("channel id"),'IT DIDNT WORK AHHH CONTACT SUPERDUPERDOOKEN OR EMI-SAN! and say: '+str(e))     
      #await client.send_message(message.channel, "Successfully added role {0}".format(role.name)) 
     #except discord.Forbidden: 
      #await client.send_message(message.channel, "I don't have perms to add roles.") 
+1

매개 변수 및 해당 속성에 대한 설명서를 참조하십시오. – ADug

답변

0

message은 함수에서 정의되지 않은 것처럼 보입니다.

아마이 함수를 함수에 전달하고 global으로 의존하지 않아야합니다.