当我使用函数获取前缀时,如何使Discord机器人同时响应自定义前缀和提及?

时间:2020-01-23 23:50:52

标签: python discord discord.py discord.py-rewrite

我想在此开头说我之前曾问过这个问题,它被关闭了,标记为重复项。我看到其他问题。我尝试了这些解决方案。他们没有工作。它们不能与前缀功能一起使用,而只能与前缀 strings 一起使用。这就是为什么我问这个问题。我已经做了一些修改,在标题中添加了一些信息,以解决这个问题,我想了很多,以便得到所需的答案。请,请不要关闭这一个。我想要一个有效的答案。

我有一个从数据库文件中检索自定义前缀的函数,但是我想实现也可以响应提及的功能,例如when_mentioned()函数。但是,在初始化机器人时,不能将两个函数都传递给command_prefix参数,也不能将前缀函数添加到when_mentioned_or()函数中以将两者结合在一起。我有什么办法可以做到这一点?我一直在寻找过去一个小时的答案,但是什么都没找到。

1 个答案:

答案 0 :(得分:1)

您可以在自己的函数中使用when_mentioned函数来检索自定义前缀。您可以使用与传递时相同的botmsg来调用它,它会return a list of the mention formats (for with and without a nickname) that you can use。然后,您可以返回该列表并附加自定义前缀。

或者,您可以直接返回带有自定义前缀bot.user.mention的列表(请参见Bot.userClientUser.mention的文档)以及该提及的昵称格式({{ 1}},而不是<@!{user_ID}>;请参见ClientUser.id的文档。)