discord.py 检查是否有大规模加入(raid)

2022-01-15 00:00:00 python python-3.x discord.py

问题描述

我想让我的机器人使用 discord.py 检查是否有超过 10 人在 15 秒内进入服务器

I would like to have my bot check if more than 10 people enter in 15 seconds in a server with discord.py

discord.py有默认功能还是我自己创建?

Is there a default function of discord.py or do I have to create it myself?


解决方案

找不到这样的功能!但是制作一个并不难:

I couldn't find such a function! However making one is not so hard:

import time


...

THRESHOLD = 10
m = []
time_ = time.time()

def antiraid(member):
    global m
    global time_
    m.append(member)
    if time.time() - time_ >= 15.0:
        time_ = time.time()
        if len(m) >= THRESHOLD:
            return True
        else:
            return False
        m = []


@bot.event
async def on_member_join(member):
    bool_ = antiraid(member)
    print('Raid state: %s' % bool_)
    

注意:这只是一个想法如何制作这个功能!您也可以使用可能更好的线程来实现这一点.

Note: This is only an idea how to make this function! You can also implement this with threads which might be better.

相关文章