python - discord.py 查找公会成员的第一条消息
问题描述
我正在寻找一种方法来估计服务器成员的原始加入日期。
刚刚获取的问题member.joined_at
是,如果成员离开并重新加入,它会重置此日期。因此,最好的选择似乎是获取成员发送的最早消息的日期。
但是,member.history(limit=1, oldest_first=True)
似乎只返回成员DM中最旧的消息。
api中是否有任何方法可以在服务器中查找成员最旧的消息?这似乎只能通过搜索栏提供给用户。
解决方案
不幸的是,discord 是基于频道的——这意味着您必须在某个频道(例如 DMChannel 或 TextChannel)中搜索消息。
在这种情况下,您将需要遍历服务器中所有可见的 TextChannel 并从通道开始进行搜索,这在资源上非常昂贵。
Discord API 不允许您通过其搜索功能进行搜索,因此这将是您唯一的方法。我相信更大的机器人只是有一个数据库来存储它第一次看到有人加入服务器来完全避免这个问题。
推荐阅读
- mongodb - MongoDB v4.0.4 用户认证密码提示未定义错误
- html - Django Form.Errors 消息未显示且未在控制台中打印
- angular - 如何使用本地化在 Angular 库中添加本地化?
- python - 如何在表格中拆分 VCF 文件 (NGS) 的变体信息?
- oop - 我们如何在同一对象上的过滤器的顺序链接中管理空或空检查?
- python - 仅当它们在 python 中的一个单词的下一个/之前删除符号
- c - 如何判断一个函数是否是尾递归 C?
- java - 在 Wicket 9 中,当用户的会话在某些页面中过期时,他们会被重定向到登录页面而不是 Session Expired 页面
- python - pd.merge 使得创建的新列是一个列表
- node.js - 没有get请求时如何处理csrf仅发布请求