在Python Discord (重写)中获得用户输入可以使用discord.py
库提供的on_message
事件来实现。以下是一个示例代码:
import discord
client = discord.Client()
@client.event
async def on_ready():
print('Bot已登录')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!get_input'):
await message.channel.send('请输入您的内容:')
def check(m):
return m.author == message.author and m.channel == message.channel
try:
user_input = await client.wait_for('message', check=check, timeout=30)
await message.channel.send(f'您输入的内容是:{user_input.content}')
except asyncio.TimeoutError:
await message.channel.send('超时,未收到您的输入')
client.run('YOUR_BOT_TOKEN')
上述代码创建了一个discord.Client
对象,并定义了on_ready
和on_message
事件处理函数。当Bot准备好并成功登录后,on_ready
事件将被触发并打印出相应信息。
on_message
事件处理函数用于监听用户发送的消息。当用户发送以!get_input
开头的消息时,Bot会回复一条消息提示用户输入内容。然后,通过client.wait_for
方法等待用户在相同的频道中输入内容,并使用check
参数来确保只接收来自同一用户和频道的消息。如果在30秒内收到用户的输入,Bot会回复一条消息显示用户输入的内容;如果超时未收到用户的输入,Bot会回复一条超时提示消息。
请注意,上述代码中的YOUR_BOT_TOKEN
需要替换为您自己的Discord机器人令牌。
这是一个简单的示例,您可以根据自己的需求进行修改和扩展。关于discord.py
库的更多信息和用法,请参考腾讯云提供的discord.py文档。
领取专属 10元无门槛券
手把手带您无忧上云