Come fare la discordia bot solo avvisami quando un utente di entrare canale vocale e già lasciando il canale voce più di 5 minuti prima

0

Domanda

@client.event
async def on_voice_state_update(member, before, after):
    # This function is called when not only member join to the voice channel,
    # but also member changed their status to mute.
    # So, it is necessary to catch only events that joining channel.
    if before.channel != after.channel:
        if after.channel is not None and after.channel.id == int(VOICE_CHANNEL_ID1):
            _name = member.nick if member.nick else member.name
            message = {
                "message": "\n" + _name + " Join The Livestream Channel"
            }
            requests.post(LINE_NOTIFY_API_URL, headers=HEADERS, data=message)
    if before.channel != after.channel:
        if after.channel is not None and after.channel.id == int(VOICE_CHANNEL_ID2):
            _name = member.nick if member.nick else member.name
            message = {
                "message": "\n" + _name + " Join The Nongskuy Channel"
            }
            requests.post(LINE_NOTIFY_API_URL, headers=HEADERS, data=message)

client.run(DISCORD_BOT_ACCESS_TOKEN)

così sto cercando di fare un bot che è in grado di avvisare il mio gruppo di RIGA ogni volta che qualcuno di entrare canale voce nella mia discordia server. Il problema è che il mio amico spesso giocando con il mio bot, lasciando che si congiunge con il canale voce repeatly e il mio bot di spam nel mio gruppo se qualcuno che unisce il canale vocale.Così, ho bisogno di un aiuto per fare il mio bot solo confermare la mia LINEA di gruppo, se un utente è già lasciando il canale voce per 5 minuti e unire di nuovo al canale vocale

discord
2021-11-23 15:55:57
1

Migliore risposta

0

Sembra che, essenzialmente, si vuole verificare se 5 o più minuti sono passati tra ogni canale vocale lasciare/join di un utente. È possibile utilizzare il datetime modulo per ottenere il tempo di quando un utente è entrato e ha lasciato il canale. Come ottenere l'ora corrente in Python. Una volta che si ottiene il tempo, è possibile ottenere i minuti di tempo come questo:

>>> now = datetime.now()
>>> print(now)
2021-11-23 14:05:31.787939
>>> print(now.minute)
5

Così si può semplicemente memorizzare now.minute in un'altra variabile e utilizzarlo per un confronto più tardi.

2021-11-23 19:11:34

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................