首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Discord.py on_typing

Discord.py on_typing
EN

Stack Overflow用户
提问于 2020-12-01 08:17:55
回答 2查看 1.2K关注 0票数 2

我在使用discord.py时遇到了一些问题。我想使用on_typing事件来记录日志之类的,但它不起作用。我试过这么做

代码语言:javascript
复制
intents = discord.Intents.default()
intents.typing = True
client = discord.Client(intents=intents)

这是所有的代码。on_ready和on_message运行良好,但on_typing。如何让它工作?

代码语言:javascript
复制
@client.event
async def on_ready():
    logger.info("But successfully runned!")

@client.event
async def on_typing(channel, user, when):
    logger.info("{} is typing message in {} : {}".format(user.name, channel, when))

@client.event
async def on_message(message):
    logger.info("{} has just sent {}".format(message.author, message.content))
EN

回答 2

Stack Overflow用户

发布于 2020-12-10 01:30:37

我相信这是你的错误:

代码语言:javascript
复制
intents = discord.Intents.default()
intents.typing = True
client = discord.Client(intents=intents)

不要写intents.typing = True这一行,只需在开头启用所有意图即可。为此,您需要删除intents.typing = True行,然后用intents = discord.Intents.all()替换intents = discord.Intents.default(),然后就是这样(确保您已经在Discord Dev Portal中启用了intents )!根据你的机器人ping,它不会立即检测到输入,而是几毫秒之后。因此,结束代码将如下所示:

代码语言:javascript
复制
intents = discord.Intents.all()
client = discord.Client(intents=intents)

那么您调用on_typing事件就是正确的!希望这能有所帮助!如果您对我的代码或不可预见的错误有任何后续问题,请随时跟进!

票数 1
EN

Stack Overflow用户

发布于 2020-12-10 06:46:56

您是否尝试过将on_typing事件和on_message事件替换为@client.listen,例如:

代码语言:javascript
复制
@client.event
async def on_ready():
    logger.info("But successfully runned!")

@client.listen
async def on_typing(channel, user, when):
    logger.info("{} is typing message in {} : {}".format(user.name, channel, when))

@client.listen
async def on_message(message):
    logger.info("{} has just sent {}".format(message.author, message.content))

我在制作加入消息时遇到了这个问题,这似乎解决了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65083011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档