有点难以解释,但是我有这段代码:
if message.content.upper().startswith("!SAY"):
args = message.content.split(" ")
await client.send_message(args[1],"%s" % (" ".join(args[2:])))
基本上,这是在有人输入时说的!例如,第一个arg应该是用户
喜欢:
!say @thepatchworkhoax#1024
下一个是:
!say @thepatchworkhoax#1024 random text
使用该机器人,机器人将向用户发送随机文本消息。
但是我需要找出合适的前缀以从列表中选择用户:
又是:
user.args[1]
如果有人知道这一点,我将非常感谢您的帮助。
完整代码:
@client.event
async def on_message(message):
if message.content.upper().startswith("!PING"):
userid = message.author.id
await client.send_message(message.channel,"<@%s> Pong!" % userid)
if message.content.upper().startswith("!SAY"):
args = message.content.split(" ")
await client.send_message(args[1],"%s" % (" ".join(args[2:])))
答案 0 :(得分:1)
如果您真的想使用某个事件,则可以执行类似
的操作 if message.content.upper().startswith("!SAY"):
args = message.content.split(" ")
await client.send_message(message.mentions[0],'%s' % (' '.join(args[2:])))
但是我建议您考虑使用命令来实现这种功能