Cum de a face discordie bot doar anunță-mă când un utilizator aderarea voce de canal și lăsând deja voce de canal mai mult de 5 minute înainte de a

0

Problema

@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)

deci, eu sunt încercarea de a face un bot care poate notifica LINIA mea de grup ori de câte ori cineva aderarea voce de canal în discordie server. Problema este, prietenul meu de multe ori joc cu robotul meu lăsându-și alături de canalul de voce repeatly și robotul meu va spam-ul în LINIA de grup, dacă cineva aderarea canalul de voce.Deci, am nevoie de un ajutor pentru a-mi face bot notifica LINIA mea de grup în cazul în care un utilizator este deja lăsând vocea canal timp de 5 minute și se unește din nou cu voce de canal

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

Cel mai bun răspuns

0

Se pare că, în esență, doriți să verificați dacă 5 sau mai multe minute au trecut între fiecare voce canal lăsa/alăturați-vă de un utilizator. Puteți utiliza datetime modulul pentru a obține timp de când un utilizator s-a alăturat și a plecat de la canal. Cum să obțineți ora curentă în Python. Odată ce ai ajuns la timp, puteți obține de minute de timp de genul asta:

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

Astfel încât să puteți stoca doar now.minute într-o altă variabilă și să-l utilizați pentru comparație mai târziu.

2021-11-23 19:11:34

În alte limbi

Această pagină este în alte limbi

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