显示通道中的成员


from nextcord.ext import tasks
from nextcord.ext import commands
class online_member(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.bot.loop.create_task(self.online_members())
@tasks.loop(minutes=10)
async def online_members(self):
guild = self.bot.get_guild(1057394146601611334)
count = 0
for member in guild.members:
if not member.bot:
if member.status != member.status.offline:
count =+ 1
kanal = self.bot.get_channel(1060686055055048798)
await kanal.edit(name=f"Online Members: {count}")
def setup(bot):
bot.add_cog(online_member(bot))

我没有错误,但它显示0。它应该显示1。有人知道该怎么做吗?我问了很多人,他们都不知道如何解决这个问题。

  1. 为了让您的bot看到成员的状态,您应该启用memberpresence意图:

    intents = discord.Intents.default()
    intents.members = True
    intents.presences = True
    bot = commands.Bot(..., intents=intents)
    

    不要忘记在Discord开发者门户中启用它们在bot下,然后特权网关意图

  2. 同样,在第15行,您可能希望将检查更改为类似

    的内容
    member.status != nextcord.Status.offline
    

希望这对你有帮助:)

最新更新