Cómo hacer la discordia bot sólo me avise cuando un usuario de unirse canal de voz, y ya dejando canal de voz de más de 5 minutos antes de

0

Pregunta

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

así que estoy tratando de hacer un bot que puede notificar a mi grupo de LÍNEA cada vez que alguien unirse canal de voz en mi discordia servidor. El problema es que mi amigo a veces, jugar con mi bot por salir y unirse a el canal de voz repeatly y mi bot de spam en mi LÍNEA de grupo si alguien unirse al canal de voz.Así, necesito una ayuda para hacer mi bot sólo notificar a mi grupo de LÍNEA si un usuario ya está dejando canal de voz durante 5 minutos y unirse de nuevo al canal de voz

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

Mejor respuesta

0

Parece que esencialmente quiere comprobar si 5 o más minutos han pasado entre cada canal de voz de entrada/salida de un usuario. Usted puede utilizar el datetime módulo para obtener el tiempo de cuando un usuario se incorporó y salió de la canal. Cómo obtener el tiempo actual en Python. Una vez que se obtiene el tiempo, usted puede obtener los minutos de la hora, como esta:

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

Por lo que sólo puede almacenar now.minute en otra variable y usar para comparar más adelante.

2021-11-23 19:11:34

En otros idiomas

Esta página está en otros idiomas

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