不和谐的'on_member_join'函数不起作用

时间:2020-10-14 07:18:16

标签: python discord.py-rewrite

我的on_member_join似乎不起作用。我希望我的机器人说出加入服务器的成员的名字,但是它无法检测到有人加入或离开了。


Stream<List<ViewModel>> matches(uid) async { 

  Stream<List<String>> docIds = FirebaseFirestore.instance
      .collection('matches')
      .where('match', arrayContains: uid)
      .snapshots()
      .map((event) => event.docs.map((e) => e.id).toList());

  return docIds.map((e) {
    e.map((e) => FirebaseFirestore.instance
        .collection('matches')
        .doc(e)
        .collection("myCollection")
        .snapshots()
        .map(
          (event) => event.docs.map((e) => ViewModel.fromJson(e.data())).toList(),
        ));
  }).toList();

}

它正在终端上打印“机器人已准备就绪”,因此机器人正在工作。但是并没有检测到成员离开或加入pls帮助。

2 个答案:

答案 0 :(得分:2)

您可能正在使用discord python 1.5.0或更高版本,这是一个常见错误,您只需要Intents。 如果出现错误,应该阅读该错误,它将把您重定向到Discord开发人员门户中的bot,在那里您可以激活特权网关意图check this out

并将其添加到您的代码中

intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix='.', intents=intents)

答案 1 :(得分:-1)

我解决了此问题以将discord.py降级

也许意图选项是错误的。

我已经在使用discord api论坛意图选项,但无法正常工作

因此,如果您要on_member_join并删除事件,请在1.5.0版以下将discord.py降级

u在控制台中键入

pip install discord.py==1.4.2

然后从您的绳索中删除所有有关意图绳索并激活绳索

就是这样。