为什么出现消息str对象“没有属性ID”?

时间:2018-12-21 08:32:10

标签: python discord discord.py

我是韩国人,如果您能听懂我的英语不好,我将不胜感激。

问题:

我正在制造一个不和谐的机器人。 通过bot将用户转移到语音通道时,似乎用户没有在id中输入值。 是否不适用某个功能? 我非常感谢您的答复,并提供了一个简单易懂的示例。

lst = []
async def on_message(message):


    if message.content.startswith('>커맨드'):
        embed = discord.Embed(title="커맨드 목록", description='\n\nHeimish클랜 팀봇 입니다. \n\n >추가 ○○ : 멤버를 추가합니다. \n\n >제외 ○○ : 멤버를 제외합니다. \n\n >초기화 : 추가되어있는 모든 멤버를 삭제합니다. \n\n >팀2 : 2명 정원의 팀을 구성합니다. \n\n >팀3 : 3명 정원의 팀을 구성합니다. \n\n >팀4 : 4명 정원의 팀을 구성합니다. \n\n >팀5 : 5명 정원의 팀을 구성합니다.\n\n', color=0x00ff00)
        await client.send_message(message.channel, embed=embed)

    elif message.content.startswith('>추가'):
        x = message.content.split()
        if(len(x) ==2):
            tmp= x[len(x)-1]
            j=0 
            for i in range(0,len(lst)):
                if(tmp == lst[i]) == True:  
                    j=j+1
            if j == 0:
                embed = discord.Embed(title="신청", description="%s님이 추가되었습니다!."% tmp, color=0x00ff00)
                await client.send_message(message.channel, embed=embed)
                lst.append(tmp) 
            else: 
                embed = discord.Embed(title="띠용", description="%s님 중복지원입니다!."% tmp, color=0x00ff00)
                await client.send_message(message.channel, embed=embed)
        else:
            embed = discord.Embed(title="띠용", description="명령어에 맞게 다시 입력하세요!", color=0x00ff00)
            await client.send_message(message.channel, embed=embed)
    elif message.content.startswith('>보이스'):
        if(message.author.display_name != '김진혁'):
            embed = discord.Embed(title="Access failed", description='only access person', color=0x00ff00)
            await client.send_message(message.channel, embed=embed)
        else:
            person = '김진혁'
            channel = discord.utils.find(lambda x: x.name == 'squad-1', message.server.channels)
            #for i in range(0,len(lst)):
            await client.move_member(person , channel)

1 个答案:

答案 0 :(得分:0)

client.move_member()的第一个参数必须为Member,但是您正在传递字符串。使用:

person = message.author