我目前正在开发一个机器人,实际上现在工作了一段时间,总是使用命令。命令的参数始终是上下文对象:
@client.command
async def test(context):
message = context.message
Run Code Online (Sandbox Code Playgroud)
所以我围绕上下文对象构建了我的整个系统。现在我想使用 on_message 事件,但不是传递一个上下文对象,在这种情况下,Discord 传递一个消息对象:
@client.event
async def on_message(message):
...
Run Code Online (Sandbox Code Playgroud)
如何使用消息对象获取上下文对象?
我目前正在阅读 Rust 书,刚刚进入主题closures。\n一个让我惊讶的细节是 Rust 书说:
\n\n闭包 don\xe2\x80\x99t 要求您注释参数的类型
\n
我立即对此进行了测试,因为它看起来与 Rust 通常的工作方式确实违反直觉。因此,我准确地复制了他们使用的闭包,将其粘贴到我的代码中,然后......出现错误:
\nfn some_closure() {\n let expensive_closure = |num| {\n println!("calculating slowly...");\n thread::sleep(Duration::from_secs(2));\n num\n };\n}\nRun Code Online (Sandbox Code Playgroud)\nerror[E0282]: type annotations needed\n --> src/main.rs:14:30\n |\n14 | let expensive_closure = |num| {\n | ^^^ consider giving this closure parameter a type\n\nerror: aborting due to previous error\nRun Code Online (Sandbox Code Playgroud)\n我确实知道该错误的含义,但我仍然对此感到困惑,因为不仅书籍,而且参考文献都指定不需要注释,但我却收到此错误。
\n这只是最近的更改尚未记录,还是我误解了什么?
\n