local changes

This commit is contained in:
esef committed 2026-06-22 22:01:20 +03:00
1 parent a317b0a7e8
commit 8ee7447ae9
21 files changed
+227 -175

No files matched your search

+24 -24
View File
@@ -1,24 +1,24 @@
# yuuka # yuuka
Personal Discord bot running on my Arch Linux laptop. Named after Hayase Yuuka. Personal Discord bot running on my Arch Linux laptop. Named after Hayase Yuuka.
## Features ## Features
- Music playback via Lavalink — YouTube search, URLs, playlists, queue management - Music playback via Lavalink — YouTube search, URLs, playlists, queue management
- Live system monitoring — CPU, RAM, temps, disk, top processes, fastfetch - Live system monitoring — CPU, RAM, temps, disk, top processes, fastfetch
- Fun commands — dice, coinflip, aura meter, rank, gifs, copypastas - Fun commands — dice, coinflip, aura meter, rank, gifs, copypastas
## Stack ## Stack
- Python + discord.py - Python + discord.py
- Wavelink + Lavalink for audio - Wavelink + Lavalink for audio
- psutil + lm-sensors for sysinfo - psutil + lm-sensors for sysinfo
- Hosted on an Acer Nitro AN515-51 running Arch Linux - Hosted on an Acer Nitro AN515-51 running Arch Linux
- Runs as a systemd service, updated via git pull over SSH - Runs as a systemd service, updated via git pull over SSH
## Commands ## Commands
- `!music` — full music command list - `!music` — full music command list
- `!sysinfo` — full sysinfo command list - `!sysinfo` — full sysinfo command list
- `!gifs` — full gif list - `!gifs` — full gif list
- `!copypasta` — full copypasta list - `!help` — everything else
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+44 -44
View File
@@ -1,45 +1,45 @@
#this is where coinflip and dice lives #this is where coinflip and dice lives
from discord.ext import commands from discord.ext import commands
import random import random
class Fun(commands.Cog): class Fun(commands.Cog):
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
# this command lists all the fun commands, not an actualy fun command## # this command lists all the fun commands, not an actualy fun command##
@commands.command() @commands.command()
async def fun(self, ctx): async def fun(self, ctx):
fun_commands = [f'!{cmd.name}' for cmd in self.get_commands() if cmd.name != 'fun'] fun_commands = [f'!{cmd.name}' for cmd in self.get_commands() if cmd.name != 'fun']
await ctx.reply('\n'.join(sorted(fun_commands))) await ctx.reply('\n'.join(sorted(fun_commands)))
###################################################################### ######################################################################
@commands.command() @commands.command()
async def coin(self, ctx): async def coin(self, ctx):
result = random.choice(['🪙 Heads', '🪙 Tails']) result = random.choice(['🪙 Heads', '🪙 Tails'])
await ctx.reply(f'{result}') await ctx.reply(f'{result}')
@commands.command() @commands.command()
async def dice(self, ctx): async def dice(self, ctx):
result = random.randint(1, 6) result = random.randint(1, 6)
await ctx.reply(f'🎲 {result}') await ctx.reply(f'🎲 {result}')
@commands.command() @commands.command()
async def pp(self, ctx): async def pp(self, ctx):
length = random.randint(1, 15) length = random.randint(1, 15)
pp = '8' + '=' * length + 'D' pp = '8' + '=' * length + 'D'
await ctx.reply(f"{ctx.author.mention}'s pp size: {pp}") await ctx.reply(f"{ctx.author.mention}'s pp size: {pp}")
@commands.command() @commands.command()
async def rank(self, ctx): async def rank(self, ctx):
ranks = ['Substance', 'Molecule', 'Atom', 'Proton', 'Neutron', 'Electron', 'Quark', 'Superstring', 'Singularity', 'giorgaras200'] ranks = ['Substance', 'Molecule', 'Atom', 'Proton', 'Neutron', 'Electron', 'Quark', 'Superstring', 'Singularity', 'giorgaras200']
rank = random.choice(ranks) rank = random.choice(ranks)
await ctx.reply(f"{ctx.author.mention}'s rank: {rank}") await ctx.reply(f"{ctx.author.mention}'s rank: {rank}")
@commands.command() @commands.command()
async def aura(self, ctx): async def aura(self, ctx):
aura = random.randint(-1000000000, +1000000000) aura = random.randint(-1000000000, +1000000000)
await ctx.reply(f"{ctx.author.mention}'s aura: {aura:,}") await ctx.reply(f"{ctx.author.mention}'s aura: {aura:,}")
async def setup(bot): async def setup(bot):
await bot.add_cog(Fun(bot)) await bot.add_cog(Fun(bot))
+121 -63
View File
@@ -1,63 +1,121 @@
# this is where copypastas live # this is where copypastas live
import discord import discord
import io import io
from discord.ext import commands from discord.ext import commands
class Copypasta(commands.Cog): class Copypasta(commands.Cog):
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
# this command lists all the copypasta commands, not an actualy copypasta command## # this command lists all the copypasta commands, not an actualy copypasta command##
@commands.command() @commands.command()
async def copypasta(self, ctx): async def copypasta(self, ctx):
pasta_commands = [f'!{cmd.name}' for cmd in self.get_commands() if cmd.name != 'copypasta'] pasta_commands = [f'!{cmd.name}' for cmd in self.get_commands() if cmd.name != 'copypasta']
await ctx.reply('\n'.join(sorted(pasta_commands))) await ctx.reply('\n'.join(sorted(pasta_commands)))
###################################################################### ######################################################################
@commands.command() @commands.command()
async def yuukapasta(self, ctx): async def yuukapasta(self, ctx):
pasta = ("""Since Yuuka is the paragon of human virtue without equal past or present, she is most resplendent in love, tributes and accolades. Waking or sleeping, I must not forget Yuuka’s great boon and in order to return her favour by day and by night, I should only think of fulfilling my loyalty. pasta = ("""Since Yuuka is the paragon of human virtue without equal past or present, she is most resplendent in love, tributes and accolades. Waking or sleeping, I must not forget Yuuka’s great boon and in order to return her favour by day and by night, I should only think of fulfilling my loyalty.
Who is Yuuka? Who is Yuuka?
For the blind, she is their vision. For the deaf, she is their music. For the mute, she is their voice. For the anosmiac, she is their aroma. For the numb, she is their feeling. For the atrophied, she is their muscle. For the blind, she is their vision. For the deaf, she is their music. For the mute, she is their voice. For the anosmiac, she is their aroma. For the numb, she is their feeling. For the atrophied, she is their muscle.
For the starved, she is their sustenance. For the thirsty, she is their water. For the exhausted, she is their energy. For the starved, she is their sustenance. For the thirsty, she is their water. For the exhausted, she is their energy.
For the depressed, she is their happiness. For the disillusioned, she is their hope. For the pessimistic, she is their optimism. For the depressed, she is their happiness. For the disillusioned, she is their hope. For the pessimistic, she is their optimism.
For the disadvantaged, she is their champion. For the marginalised, she is their justice. For the oppressed, she is their salvation. For the disadvantaged, she is their champion. For the marginalised, she is their justice. For the oppressed, she is their salvation.
For the righteous, she is their symbol. For the enlightened, she is their muse. For the erudite, she is their education. For the righteous, she is their symbol. For the enlightened, she is their muse. For the erudite, she is their education.
If Yuuka speaks, I listen. If Yuuka questions, I answer. If Yuuka orders, I obey. If Yuuka speaks, I listen. If Yuuka questions, I answer. If Yuuka orders, I obey.
If Yuuka opines, I agree. If Yuuka fears, I assure. If Yuuka hopes, I dream. If Yuuka opines, I agree. If Yuuka fears, I assure. If Yuuka hopes, I dream.
If Yuuka is happy, I am jubilant. If Yuuka is angry, I am apoplectic. If Yuuka is sad, I am disconsolate. If Yuuka is happy, I am jubilant. If Yuuka is angry, I am apoplectic. If Yuuka is sad, I am disconsolate.
Yuuka is my ideal, Yuuka is my romance, Yuuka is my passion. Yuuka is my ideal, Yuuka is my romance, Yuuka is my passion.
Yuuka is my strength, Yuuka is my compass, Yuuka is my destination. Yuuka is my strength, Yuuka is my compass, Yuuka is my destination.
Yuuka is my language, Yuuka is my culture, Yuuka is my religion. Yuuka is my language, Yuuka is my culture, Yuuka is my religion.
Yuuka is my ocean, Yuuka is my mountain, Yuuka is my sky, Yuuka is my air, Yuuka is my sun, Yuuka is my moon, Yuuka is my world. Yuuka is my ocean, Yuuka is my mountain, Yuuka is my sky, Yuuka is my air, Yuuka is my sun, Yuuka is my moon, Yuuka is my world.
Yuuka is history, Yuuka is present, Yuuka is future. Yuuka is history, Yuuka is present, Yuuka is future.
If Yuuka has a million fans, I am one of them. If Yuuka has a thousand fans, I am one of them. If Yuuka has a hundred fans, I am one of them. If Yuuka has ten fans, I am one of them. If Yuuka has only one fan, that is me. If Yuuka has no fans, I no longer exist. If Yuuka has a million fans, I am one of them. If Yuuka has a thousand fans, I am one of them. If Yuuka has a hundred fans, I am one of them. If Yuuka has ten fans, I am one of them. If Yuuka has only one fan, that is me. If Yuuka has no fans, I no longer exist.
If the whole universe is for Yuuka , then I am for the whole universe. If the whole universe is against Yuuka, then I am against the whole universe. If the whole universe is for Yuuka , then I am for the whole universe. If the whole universe is against Yuuka, then I am against the whole universe.
I will love, cherish, and protect Yuuka until my very last breath; my successors will love, cherish and protect Yuuka until their very last breath.""") I will love, cherish, and protect Yuuka until my very last breath; my successors will love, cherish and protect Yuuka until their very last breath.""")
await ctx.reply(file=discord.File(io.StringIO(pasta), filename='yuukapasta.txt')) await ctx.reply(file=discord.File(io.StringIO(pasta), filename='yuukapasta.txt'))
async def setup(bot): @commands.command()
await bot.add_cog(Copypasta(bot)) async def yuyuko(self, ctx):
pasta = r"""⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠶⢒⣶⠏⠀⠀⢸⣦⣀⣀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
#template for future copypasta commands ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠉⠀⢀⡾⠃⠀⠀⠀⠀⣿⠛⠛⠛⠛⠛⠛⠉⠛⠛⠛⠶⢤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
#@commands.command() ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠾⠋⠀⠀⠀⣠⡟⠁⠀⡀⠀⠀⠀⢹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
#async def the command you wanna give(self, ctx): ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠀⠀⠀⣰⠟⣤⣾⡿⠿⣿⣆⠀⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
# pasta = """your entire pasta here""" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠀⠀⠀⠀⣴⣯⣾⡿⣿⠟⣳⢻⣿⡆⠀⠈⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
# await ctx.reply(file=discord.File(io.StringIO(pasta), filename="file name.txt")) ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⠀⠀⠀⠀⠀⠀⣼⢻⣿⡟⠰⣿⣟⣉⣼⣿⠃⠀⠀⠀⠻⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⣀⠀⠀⠀⠀⠀⠙⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠋⠀⠀⠀⠀⠀⠀⠀⢸⡇⣿⣿⠀⠀⠙⠛⣟⠛⠁⠀⠀⠀⠀⠀⠈⠻⣷⡀⠀⠀⠀⠀⠀⣠⣾⣿⠿⠛⠁⠀⠀⠀⠀⠀⢹⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠸⣇⢿⣿⣀⣤⣶⣿⠿⠿⣿⣶⣶⣶⣿⠗⠀⣀⣹⡿⠶⠦⣤⠶⢿⣿⣭⣤⣶⣶⣿⣯⣤⣤⣤⣶⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡟⠀⠀⠀⠀⠀⠲⠶⣶⣦⣤⣤⣿⣈⣿⠿⠿⢭⣤⣀⣀⣠⣬⠿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠉⠛⢛⠉⠙⠛⠿⣿⣿⡉⠉⠛⠿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣆⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⢀⣴⡿⠟⠋⠉⠀⠀⠀⠀⢸⣿⣯⣤⣄⣀⠀⠀⠀⣼⠀⠀⠀⠀⠀⠙⣻⣦⣄⠀⠈⠙⠻⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣶⣶⣾⡿⠟⠛⣻⡿⠋⠁⠀⠀⠀⢠⣾⢿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣷⣦⣟⣤⣤⣶⣾⣿⣿⣿⣿⣿⡂⠀⠀⠀⠀⠙⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⣏⠉⠛⠻⢿⣷⡀⠀⠀⠀⠀⢀⣠⡶⠟⠉⢀⣴⣞⣋⠀⠀⠀⠀⠀⢠⡟⠁⠀⠙⢿⣿⣿⣿⣿⣦⣄⡀⠀⣿⠟⣛⣿⣿⣟⣻⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣷⡄⠀⠀⠀⠀⠀⣙⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠙⠿⣷⣦⡄⠀⠉⠁⠀⢀⣤⠾⠛⠁⠀⠀⠀⣾⣿⣿⣿⣿⣷⣶⣤⣀⡟⣀⣠⣤⣶⣿⣿⣿⠛⣿⣏⠉⠛⠶⢶⡟⢩⡽⣯⠉⠉⠉⠛⠛⠛⠿⢿⣿⣿⣦⣤⣙⣿⣤⣶⣶⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣀⣤⣄⣀⣉⡁⠀⢀⣠⣾⣋⡁⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣯⣩⣿⣟⣻⠉⢿⣷⣌⠻⣷⣾⣿⣿⣦⡀⠀⠙⢷⣅⠘⣷⠀⠀⠀⢀⣼⠃⡈⢷⡈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⣿⡋⠙⠛⠻⢿⣷⢸⣿⣿⣿⣿⣿⣷⣶⣦⣤⣀⣀⣤⣾⣿⣿⣿⣿⣿⡟⢿⣿⡿⢶⣆⠙⠻⣷⣮⣿⣿⣿⣿⣿⣿⣷⣞⣛⣛⣿⣧⣴⣾⡿⠃⣿⣿⣾⣇⠸⣿⣿⣿⣯⣻⣿⣿⣿⣽⣿⠆⢀⣤⣶⡤⠀⠀⠀⠒⢾⣷⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⢿⣷⣄⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠁⢸⣿⣿⣧⡾⠻⣿⣦⣽⣧⡀⠘⣿⣟⠛⠛⢛⣻⣿⣯⣉⠉⠉⢻⣿⡋⠁⣰⣟⡏⢻⣿⣿⠀⢿⡟⣿⣿⣿⣿⣿⡟⠋⠁⠀⢸⣿⡋⠀⠀⠀⣠⣶⣿⠟⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⡆⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠘⣿⣧⠈⣿⣿⣟⠁⠀⠈⠻⣿⣿⣿⣶⣾⣿⣷⣆⠛⣋⣡⣤⣭⣤⣀⡀⢻⡇⢠⣿⠉⠁⣼⣿⣿⣄⣸⡇⠸⣿⣿⣿⣿⣷⣄⠀⠀⠈⠉⠀⠀⢰⣾⡿⠋⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⢿⣿⣿⣿⣿⣿⣿⢻⣷⡀⢤⠘⢿⣿⣿⣛⣿⣆⠐⠚⢛⡈⠻⢿⣿⣿⠿⠿⢿⣿⣿⠿⠛⠛⠙⠛⠻⣾⣧⣾⠏⢀⣼⣿⣿⣿⣿⡻⣯⠀⢹⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣷⣶⣿⣿⣿⣿⣿⣿⣸⣿⡟⠛⠃⠘⣿⣿⣏⣛⣿⣷⣿⣿⣿⣷⣄⠉⠁⠀⠀⠀⠉⠀⠀⣠⣆⡀⣀⣴⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⡼⣧⢰⣿⣿⣿⣿⣹⣿⠀⠀⠀⠀⠀⠀⠀⢀⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣯⠛⠀⠀⣦⡙⣿⣯⣿⡿⠟⠋⠁⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠚⠻⠋⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⣿⣿⠙⣿⣿⢻⣙⠿⣿⣿⣿⡿⠀⠀⠸⠗⠁⢀⣴⣷⠇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣩⣿⣿⠿⢋⣿⣿⣷⡀⠀⠙⣿⣿⣿⣷⣀⣠⣤⠆⠀⠀⠀⠀⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡿⠋⢱⡟⠁⢠⣿⣿⡏⣰⣿⣿⣷⣝⠇⠙⢿⣏⠀⢀⡀⠀⢠⣶⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⣼⡿⢿⣿⣿⣶⣤⣈⣻⣿⣿⣿⠻⠋⠀⠀⠀⠀⠀⠀⢀⣀⣤⡴⢶⠀⠀⠀⠀⣼⣿⠏⠀⠀⠀⠀⣰⡿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣶⣶⣬⣿⣿⠃⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠃⠀⠙⣿⠛⣿⣍⠻⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⢸⣿⠋⠀⢀⣼⠃⣤⣄⣴⣿⠁⠀⣠⣴⣦⣾⠋⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡏⠀⠀⢰⡏⡄⣿⣿⣆⠙⢿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠉⠛⠛⠋⠁⠀⠀⣩⣿⣿⣠⣿⣿⣿⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠈⢹⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣤⣠⡟⠉⣱⡿⣿⣿⣷⣦⡙⠿⣿⡛⠿⣿⣷⣶⣤⣀⡀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠒⠟⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠾⣦⣤⣽⠿⢋⣠⣴⣿⣳⣿⣿⣿⣿⣿⣷⣾⣿⣦⠈⠙⢿⣿⣿⠉⠛⠶⠶⠟⠁⠘⣿⣿⣿⣿⡿⠿⣿⣿⣷⣿⣯⡻⣿⣿⣿⣿⣿⠁⣿⠇⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣀⠀⠀⢀⣴⣿⣿⢷⣛⣯⣽⣿⣿⣿⣿⠟⣸⣿⣿⠟⢻⣿⣷⡀⠀⢸⣿⢻⡇⠀⠀⠀⠀⠀⠀⣼⢿⣿⣿⣧⣀⣀⠈⠙⠛⠻⠿⠿⣿⣿⣿⣿⡷⠿⠛⠛⠉⠉⠉⠉⠙⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⣴⠶⠶⣤⣠⡾⠋⠁⠀⢹⡇⠀⣿⣿⣿⡷⠛⠉⠀⠀⠀⠀⠉⠻⢿⣿⠿⠷⣦⣾⣿⣿⡇⠀⣼⣿⢸⣧⡀⠀⠀⠀⠀⣸⠏⠀⠉⠛⠛⠋⠉⠀⠀⠀⠀⠀⠀⣠⣴⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣌⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣾⠋⠀⠀⠀⠀⠉⠀⠀⠀⠀⣸⠇⠀⢈⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⣦⣿⣷⣿⣿⣡⡾⠿⠋⠘⠹⣇⠀⠀⠀⣰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢿⣄⡀⠀⠀⠀⠀⠀⠀⢀⣼⠏⠀⠀⣾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢷⣄⡉⠀⠀⠀⠀⠀⠀⠻⠀⠀⢰⡟⠀⠀⠀⠀⠀⢀⣀⣤⡶⠞⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠉⠛⠳⢶⣤⣀⡀⢀⡾⠃⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⢦⣤⣀⠀⠀⠀⠀⠀⡟⠀⢀⣀⣤⡶⠞⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠇⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⢷⡄⠀⠀⣰⡟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠦⠾⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⢀⣀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣟⡷⢿⡆⢸⣇⠀⠀⠀⠀⠀⠀⢰⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⡟⠙⢷⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⣿⠟⠀⠀⢿⣶⣄⠀⠀⠀⠀⢀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⡇⠀⢸⣧⣄⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠘⣷⠙⠳⠶⢤⣶⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣬⡿⢸⡇⠀⢀⣠⡿⠁
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣸⡧⠤⠶⠟⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⠇⠿⠶⠛⠋⠉⠀⠀
⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣄⣀⣀⣀⣤⠶⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢀⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⣄⠀⠀⠀⠀⠀⢀⣠⡿⢱⡟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣤⡶⠛⠉⠀⣶⣤⡀⠉⠉⠛⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣶⣤⣤⡶⠟⠋⢠⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣼⠃⠀⠀⠀⠀⠘⣿⣽⣷⣆⠀⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢷⣄⠀⢀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢠⡾⠋⠀⠈⠻⣦⡀⠀⠹⣦⠀⢻⣆⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⡤⠤⣤⣀⣀⠀⠀⠀⠙⢷⣾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣸⡇⢰⣤⡀⠀⠈⠻⣦⣀⠙⢷⣄⠙⠳⠾⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠾⠋⠉⡀⠀⠀⠀⠈⠉⠙⠛⠛⠒⠒⠛⠳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣷⠈⢿⣿⣦⡀⠀⠙⠿⣷⣦⣙⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠉⣀⣤⣶⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣷⡀⠀⠀⠀⠀⠀⠀
⢻⣿⣧⠀⠻⣿⡻⣦⣄⡀⠈⠻⢿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣯⣶⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⠀
⠘⣿⣿⣷⣄⠈⠛⠶⢿⣿⣷⣶⣤⣝⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣟⣤⡾⠋⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⠃⠀⠀⠀⠀⠀⠀
⠀⠘⢷⡽⠿⠷⢦⣤⣤⣤⣉⣙⣻⡎⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣽⠟⠉⠀⢀⣠⣤⣶⣿⠿⠛⠀⠀⠀⠀⠀⠀⠀⣀⣤⡴⢾⣿⣽⢿⡏⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⠟⠓⠚⠛⠛⠛⠉⠁⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠿⣥⣤⣶⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⠋⣁⣼⣿⣯⣄⢸⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⣧⡴⠾⢻⣏⠁⣿⣄⣠⣤⣴⡶⠾⠓⠒⢀⣴⠟⢁⣤⣾⡿⠛⠉⢀⡿⣸⠇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠋⠀⣿⢹⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⢿⣿⣯⣤⣤⠶⠖⠿⠋⣡⣾⡿⠛⠁⠀⠀⢀⣾⢃⡿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠹⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡴⠟⠁⠀⠀⢹⡆⠹⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠛⠛⠛⠛⠉⠀⠀⠀⠀⢠⡾⣡⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠈⠻⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡴⠞⠋⠀⠀⠀⢀⣠⡟⢻⣆⠈⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣟⡴⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣶⣦⣤⣄⣀⣀⠀⠀⠀⠀⢀⣀⣠⣤⠴⠶⠞⠛⠉⠁⠀⠀⠀⣀⣠⡶⠟⠁⠀⠀⠙⢷⣄⠈⠙⢷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠿⠿⢿⣭⣅⣀⣀⣀⣀⣀⣀⣀⣀⣠⣤⡴⠶⠞⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠉⠛⠶⣤⣌⣙⠳⢦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣶⡿⠟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⣳⡾⢯⣿⣷⣶⣦⣤⣤⣤⣤⠤⡶⢶⣞⡛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"""
await ctx.reply(file=discord.File(io.StringIO(pasta), filename="yuyuko.txt"))
async def setup(bot):
await bot.add_cog(Copypasta(bot))
#template for future copypasta commands
#@commands.command()
#async def the command you wanna give(self, ctx):
# pasta = """your entire pasta here"""
# await ctx.reply(file=discord.File(io.StringIO(pasta), filename="file name.txt"))
+17 -17
View File
@@ -1,18 +1,18 @@
from discord.ext import commands from discord.ext import commands
class General(commands.Cog): class General(commands.Cog):
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
@commands.command() @commands.command()
async def yuuka(self, ctx): async def yuuka(self, ctx):
await ctx.send('kanpeki!') await ctx.send('kanpeki!')
async def setup(bot): async def setup(bot):
await bot.add_cog(General(bot)) await bot.add_cog(General(bot))
@commands.Cog.listener() @commands.Cog.listener()
async def on_command_error(self, ctx, error): async def on_command_error(self, ctx, error):
if isinstance(error, commands.CommandNotFound): if isinstance(error, commands.CommandNotFound):
return # ignore typos silently return # ignore typos silently
print(f'Error: {error}') print(f'Error: {error}')
+1 -1
View File
@@ -31,4 +31,4 @@ class Gifs(commands.Cog):
await ctx.reply('\n'.join(gif_commands)) await ctx.reply('\n'.join(gif_commands))
async def setup(bot): async def setup(bot):
await bot.add_cog(Gifs(bot)) await bot.add_cog(Gifs(bot))
+11 -2
View File
@@ -1,5 +1,4 @@
import subprocess import subprocess
import discord
from discord.ext import commands from discord.ext import commands
import re import re
import psutil import psutil
@@ -98,5 +97,15 @@ class SysInfo(commands.Cog):
count = data['response']['player_count'] count = data['response']['player_count']
await ctx.reply(f'🎮 Strinova — {count:,} players online right now') await ctx.reply(f'🎮 Strinova — {count:,} players online right now')
#this is unrelated, strinova player count tracker
#i just couldnt be assed with it lol
@commands.command()
async def strinova(self, ctx):
async with aiohttp.ClientSession() as session:
async with session.get('https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/?appid=1282270') as r:
data = await r.json()
count = data['response']['player_count']
await ctx.reply(f'🎮 Strinova — {count:,} players online right now')
async def setup(bot): async def setup(bot):
await bot.add_cog(SysInfo(bot)) await bot.add_cog(SysInfo(bot))
View File
Whitespace-only changes.
Binary file not shown.
+2 -2
View File
@@ -1,3 +1,3 @@
#this is where scary stuff where you put your credentials keys etc goes #this is where scary stuff where you put your credentials keys etc goes
DISCORD_TOKEN="yo token here" DISCORD_TOKEN="yo token here"
+2 -17
View File
@@ -5,8 +5,6 @@ import os
import logging import logging
import asyncio import asyncio
from tgbridge.forwarder import TelegramForwarder
load_dotenv('credentials.env') load_dotenv('credentials.env')
intents = discord.Intents.default() intents = discord.Intents.default()
@@ -19,13 +17,6 @@ async def on_ready():
print(f'✅ {bot.user} is online!') print(f'✅ {bot.user} is online!')
async def main(): async def main():
# ── telegram forwarder ───────────────────────────────────────────────
forwarder = TelegramForwarder(
token=os.getenv('TELEGRAM_BOT_TOKEN'),
group_id=int(os.getenv('TELEGRAM_GROUP_ID')),
webhook_url=os.getenv('DISCORD_WEBHOOK_URL'),
)
async with bot: async with bot:
await bot.load_extension('cogs.general') await bot.load_extension('cogs.general')
await bot.load_extension('cogs.chance') await bot.load_extension('cogs.chance')
@@ -33,13 +24,7 @@ async def main():
await bot.load_extension('cogs.copypasta') await bot.load_extension('cogs.copypasta')
await bot.load_extension('cogs.sysinfo') await bot.load_extension('cogs.sysinfo')
await bot.load_extension('music.music') await bot.load_extension('music.music')
await bot.start(os.getenv('DISCORD_TOKEN'))
await forwarder.start()
try:
await bot.start(os.getenv('DISCORD_TOKEN'))
finally:
await forwarder.stop()
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
asyncio.run(main())␍ asyncio.run(main())
Binary file not shown.
Binary file not shown.
+5 -5
View File
@@ -124,7 +124,8 @@ class Music(commands.Cog):
if not vc: if not vc:
vc = await ctx.author.voice.channel.connect(cls=wavelink.Player) vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
vc.autoplay = wavelink.AutoPlayMode.disabled vc.autoplay = wavelink.AutoPlayMode.disabled
vc.inactive_timeout = None vc.inactive_timeout = None
vc.inactive_timeout = None
st = self.state(ctx.guild.id) st = self.state(ctx.guild.id)
@@ -141,10 +142,9 @@ class Music(commands.Cog):
for t in tracks: for t in tracks:
t.extras = {"requester": str(ctx.author)} t.extras = {"requester": str(ctx.author)}
st.queue.append(t) st.queue.append(t)
if not vc.playing and not vc.paused and st.queue:
if not vc.playing and not vc.paused and st.queue: st.current = st.queue.popleft()
st.current = st.queue.popleft() await vc.play(st.current)
await vc.play(st.current)
embed = discord.Embed( embed = discord.Embed(
title="📋 Playlist Queued", title="📋 Playlist Queued",
Binary file not shown.
Binary file not shown.