feat: delete queued songs on message delete
This commit is contained in:
parent
d5623502b0
commit
17bcdc687d
@ -328,6 +328,17 @@ async def volume(message):
|
|||||||
await utils.add_check_reaction(message)
|
await utils.add_check_reaction(message)
|
||||||
|
|
||||||
|
|
||||||
|
def delete_queued(messages):
|
||||||
|
found = []
|
||||||
|
for message in messages:
|
||||||
|
for queued in players[message.guild.id].queue:
|
||||||
|
if queued.trigger_message.id == message.id:
|
||||||
|
found.append(queued)
|
||||||
|
for queued in found:
|
||||||
|
if queued in players[messages[0].guild.id].queue:
|
||||||
|
players[messages[0].guild.id].queue.remove(queued)
|
||||||
|
|
||||||
|
|
||||||
def play_after_callback(e, message, once):
|
def play_after_callback(e, message, once):
|
||||||
if e:
|
if e:
|
||||||
print(f"player error: {e}")
|
print(f"player error: {e}")
|
||||||
|
15
events.py
15
events.py
@ -1,3 +1,4 @@
|
|||||||
|
import commands
|
||||||
import core
|
import core
|
||||||
import events
|
import events
|
||||||
from state import client
|
from state import client
|
||||||
@ -31,6 +32,18 @@ async def on_message_edit(before, after):
|
|||||||
await core.on_message(after, edited=True)
|
await core.on_message(after, edited=True)
|
||||||
|
|
||||||
|
|
||||||
|
async def on_message_delete(message):
|
||||||
|
await events.trigger_dynamic_handlers("on_bulk_delete", message)
|
||||||
|
|
||||||
|
commands.voice.delete_queued([message])
|
||||||
|
|
||||||
|
|
||||||
|
async def on_bulk_message_delete(messages):
|
||||||
|
await events.trigger_dynamic_handlers("on_bulk_message_delete", messages)
|
||||||
|
|
||||||
|
commands.voice.delete_queued(messages)
|
||||||
|
|
||||||
|
|
||||||
async def on_voice_state_update(member, before, after):
|
async def on_voice_state_update(member, before, after):
|
||||||
await events.trigger_dynamic_handlers(
|
await events.trigger_dynamic_handlers(
|
||||||
"on_voice_state_update", member, before, after
|
"on_voice_state_update", member, before, after
|
||||||
@ -42,6 +55,8 @@ async def on_voice_state_update(member, before, after):
|
|||||||
for k, v in client.get_listeners().items():
|
for k, v in client.get_listeners().items():
|
||||||
for f in v:
|
for f in v:
|
||||||
client.remove_listener(f, k)
|
client.remove_listener(f, k)
|
||||||
|
client.add_listener(on_bulk_message_delete, "on_bulk_message_delete")
|
||||||
client.add_listener(on_message, "on_message")
|
client.add_listener(on_message, "on_message")
|
||||||
|
client.add_listener(on_message_delete, "on_message_delete")
|
||||||
client.add_listener(on_message_edit, "on_message_edit")
|
client.add_listener(on_message_edit, "on_message_edit")
|
||||||
client.add_listener(on_voice_state_update, "on_voice_state_update")
|
client.add_listener(on_voice_state_update, "on_voice_state_update")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user