如何将用户的消息分配给 discord.py 中的变量?
How do assign a user's message to a variable in discord.py?
到目前为止,我正在尝试将用户对某个问题的响应分配给一个变量但出现错误消息enter image description here pops up every timeenter image description here我输入了分配名称。
@client.command()
异步定义添加(上下文):
Decalre 变量为 true 以保持我们的主循环 运行
运行 = 真
而 运行:
# Prompt user to input course name
await context.send('Course name: ')
add_course = await client.wait_for('message', check=lambda message: message.author == context.author)
add_course_var = add_course.content
await add_course.channel.send(f'Course name registered: {add_course_var}')
# Prompt user to input assignment name
await context.send('Assignment name: ')
add_assignment_name = await client.wait_for('message', check=lambda message: message.author == context.author)
add_assignment_name_var = add_assignment_name.content
await add_assignment.channel.send(f'Assignment name registered: {add_assignment_name_var}')
# Prompt user to input deadline
await context.send('Due date(month, d: ')
add_deadline = await client.wait_for('message', check=lambda message: message.author == context.author)
add_deadline_var = add_deadline.content
await add_deadline.channel.send(f'Due date registered: {add_deadline_var}')
您没有在您提供的代码中初始化 add_assignment
变量。我从错误中猜测 add_assignment
实际上是一个函数,而不是一个变量,这就是为什么它说它没有 channel
属性。您想要将 add_assignment
更改为 add_assignment_name
,以便它从 add_assignment_name
消息对象中获取 channel
属性。
到目前为止,我正在尝试将用户对某个问题的响应分配给一个变量但出现错误消息enter image description here pops up every timeenter image description here我输入了分配名称。
@client.command() 异步定义添加(上下文):
Decalre 变量为 true 以保持我们的主循环 运行
运行 = 真 而 运行:
# Prompt user to input course name
await context.send('Course name: ')
add_course = await client.wait_for('message', check=lambda message: message.author == context.author)
add_course_var = add_course.content
await add_course.channel.send(f'Course name registered: {add_course_var}')
# Prompt user to input assignment name
await context.send('Assignment name: ')
add_assignment_name = await client.wait_for('message', check=lambda message: message.author == context.author)
add_assignment_name_var = add_assignment_name.content
await add_assignment.channel.send(f'Assignment name registered: {add_assignment_name_var}')
# Prompt user to input deadline
await context.send('Due date(month, d: ')
add_deadline = await client.wait_for('message', check=lambda message: message.author == context.author)
add_deadline_var = add_deadline.content
await add_deadline.channel.send(f'Due date registered: {add_deadline_var}')
您没有在您提供的代码中初始化 add_assignment
变量。我从错误中猜测 add_assignment
实际上是一个函数,而不是一个变量,这就是为什么它说它没有 channel
属性。您想要将 add_assignment
更改为 add_assignment_name
,以便它从 add_assignment_name
消息对象中获取 channel
属性。