@client.event
async def on message(message):
if message.content.upper().startswith('!now')
userID = message.author.id
await client.send_message(message.channel, '<@&s>' (time.asctime() % '(userID)')
我遇到语法错误 尝试在其他类型时为discord bot发出命令!现在它将响应其日期和时间
答案 0 :(得分:1)
我不确定您是否正确复制了代码,但似乎您丢失了:
函数名称(def on_message(message):
)下划线
if
语句结尾的冒号和正确的缩进
(if message.content.upper().startswith('!now'):
下的
正如Mehvix所指出的,您还正在将转换为大写的字符串与小写的字符串进行比较(切换为if message.content.startswith('!now'):
)
我还建议您使用python的更新格式功能将await行更改为类似await client.send_message(message.channel, f'{time.asctime()} -> {message.author.id}')
这是最终结果
@client.event
async def on_message(message):
if message.content.startswith('!now'):
await client.send_message(message.channel, f'{time.asctime()} -> {message.author.id}')
答案 1 :(得分:0)
.upper
意味着“!now”必须大写为“!NOW”