所以,如果我有一个很长的命令,像这样:
const fs = require('fs')
const forge = require('node-forge')
const { pki } = forge
const { promisify } = require('es6-promisify')
const readFile = promisify(fs.readFile)
async function main() {
const certPem = await readFile('./cert.crt', 'utf-8')
const cert = pki.certificateFromPem(certPem)
const fingerprint = pki.getPublicKeyFingerprint(cert.publicKey, {
md: forge.md.sha256.create(),
encoding: 'hex',
})
}
main()
很遗憾,在文档中或此处找不到任何内容。
答案 0 :(得分:2)
如果您使用重写分支,那么所有Messageable
都有一个typing
上下文管理器,可以无限期地键入内容,还有一个trigger_typing
协程,可以显示一些键入信息秒。
@bot.command()
async def longCommand(ctx):
async with ctx.typing():
await sleep(10)
await ctx.send("Done!")
答案 1 :(得分:1)
@bot.command(pass_context=True)
async def longCommand(ctx):
await bot.send_typing(ctx.channel)
await asyncio.sleep(10)
await bot.say("Done!")
请记住在对协程的每个异步调用中使用await
。
答案 2 :(得分:0)
@bot.command()
async def type(ctx):
await ctx.channel.trigger_typing()
await asyncio.sleep(5)
await ctx.send("Done!")
这对我有用! 我使用的是 Discord.py(不是重写)