fixed queue skip error, implemented more /commands.
This commit is contained in:
@@ -35,10 +35,20 @@ def get_effect_options(effect_name):
|
||||
**BASE_FFMPEG_OPTS,
|
||||
'options': '-vn -af "atempo=0.8,asetrate=48000*0.8,aecho=0.8:0.9:1000:0.3"'
|
||||
},
|
||||
'earrape': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
# Aggressive compression + hard clipping + bitcrushing for maximum distortion
|
||||
'options': '-vn -af "volume=8,acompressor=threshold=0.001:ratio=30:attack=0.1:release=5,acrusher=bits=8:mix=0.7,volume=2,alimiter=limit=0.8"'
|
||||
},
|
||||
'deepfry': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
# Extreme bitcrushing + bass boost + compression (meme audio effect)
|
||||
'options': '-vn -af "acrusher=bits=4:mode=log:aa=1,bass=g=15,acompressor=threshold=0.001:ratio=20,volume=3"'
|
||||
},
|
||||
'distortion': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
# Pure bitcrushing distortion
|
||||
'options': '-vn -af "acrusher=bits=6:mix=0.9,acompressor=threshold=0.01:ratio=15"'
|
||||
'options': '-vn -af "acrusher=bits=6:mix=0.9,acompressor=threshold=0.01:ratio=15,volume=2"'
|
||||
},
|
||||
'reverse': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
@@ -76,6 +86,16 @@ def get_effect_options(effect_name):
|
||||
**BASE_FFMPEG_OPTS,
|
||||
'options': '-vn -af "aecho=0.8:0.88:60:0.4"'
|
||||
},
|
||||
'phone': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
# Sounds like a phone call (bandpass filter)
|
||||
'options': '-vn -af "bandpass=f=1500:width_type=h:w=1000,volume=2"'
|
||||
},
|
||||
'megaphone': {
|
||||
**BASE_FFMPEG_OPTS,
|
||||
# Megaphone/radio effect
|
||||
'options': '-vn -af "highpass=f=300,lowpass=f=3000,volume=2,acompressor=threshold=0.1:ratio=8"'
|
||||
}
|
||||
}
|
||||
|
||||
return effects.get(effect_name, effects['none'])
|
||||
@@ -202,7 +222,12 @@ async def add_song(server_id, details, queued_by):
|
||||
|
||||
|
||||
# Pop song from server (respects loop mode)
|
||||
async def pop(server_id, ignore=False):
|
||||
async def pop(server_id, ignore=False, skip_mode=False):
|
||||
"""
|
||||
Pop next song from queue
|
||||
ignore: Skip the song without returning URL
|
||||
skip_mode: True when called from skip command (affects loop song behavior)
|
||||
"""
|
||||
# Connect to db
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
@@ -624,6 +649,8 @@ def get_effect_emoji(effect_name):
|
||||
'bassboost': '🔉💥',
|
||||
'nightcore': '⚡🎀',
|
||||
'slowed': '🐌💤',
|
||||
'earrape': '💀📢',
|
||||
'deepfry': '🍟💥',
|
||||
'distortion': '⚡🔊',
|
||||
'reverse': '⏪🔄',
|
||||
'chipmunk': '🐿️',
|
||||
@@ -634,6 +661,8 @@ def get_effect_emoji(effect_name):
|
||||
'vibrato': '〰️',
|
||||
'tremolo': '📳',
|
||||
'echo': '🗣️💭',
|
||||
'phone': '📞',
|
||||
'megaphone': '📢📣'
|
||||
}
|
||||
return emojis.get(effect_name, '🔊')
|
||||
|
||||
@@ -645,6 +674,8 @@ def get_effect_description(effect_name):
|
||||
'bassboost': 'MAXIMUM BASS 🔊',
|
||||
'nightcore': 'Speed + pitch up (anime vibes)',
|
||||
'slowed': 'Slowed + reverb (TikTok aesthetic)',
|
||||
'earrape': '⚠️ Aggressive compression + distortion + clipping ⚠️',
|
||||
'deepfry': '🍟 EXTREME bitcrushing + bass (meme audio) 🍟',
|
||||
'distortion': 'Heavy bitcrushing distortion',
|
||||
'reverse': 'Plays audio BACKWARDS',
|
||||
'chipmunk': 'High pitched and fast (Alvin mode)',
|
||||
@@ -655,6 +686,8 @@ def get_effect_description(effect_name):
|
||||
'vibrato': 'Warbling pitch effect',
|
||||
'tremolo': 'Volume oscillation',
|
||||
'echo': 'Echo/reverb effect',
|
||||
'phone': 'Sounds like a phone call',
|
||||
'megaphone': 'Megaphone/radio effect'
|
||||
}
|
||||
return descriptions.get(effect_name, 'Unknown effect')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user