【发布时间】:2018-12-21 22:12:10
【问题描述】:
我是韩国人,如果你能理解我蹩脚的英语,我将不胜感激。
问题:
我正在制作一个不和谐的机器人。 通过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)
【问题讨论】:
-
忽略 on_message Traceback 中的异常(最近一次调用最后一次):文件“C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\client .py”,第 307 行,从 getattr(self, event)(*args, **kwargs) 产生的 _run_event 文件“C:/Users/user/Desktop/heimish.py”,第 185 行,on_message await client.move_member ('김진혁' , 频道)
-
文件“C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\client.py”,第 3135 行,在 move_member 中来自 self .http.move_member(member.id, member.server.id, channel.id) AttributeError: 'str' object has no attribute 'id'
-
这是我的完整错误代码。
-
把它放在问题中,这样你就可以把它格式化成可读的格式。
-
client.move_member()的第一个参数应该是Member对象,而不是字符串。
标签: python discord discord.py