Compare commits

..

12 Commits

Author SHA1 Message Date
gitea 69afb00897 bgfx 1 2024-11-16 23:10:32 +01:00
gitea e4a47d025c safe 2024-11-15 19:59:50 +01:00
gitea 4f109da335 bgfx 2024-11-15 19:01:53 +01:00
gitea 230242bf5c finished secret dm handling 2024-11-15 18:47:29 +01:00
gitea e290e7d656 ADdded smth 2024-11-15 18:33:31 +01:00
gitea 62f6b64bfb Fix 2024-11-15 15:44:17 +01:00
gitea cd307d642e fix 2024-11-15 15:41:56 +01:00
gitea 81c43aadcc xxx 2024-11-15 14:01:25 +01:00
gitea 73057921ec Optional argument fix 2024-11-15 13:30:23 +01:00
gitea cd1beac93f small fx 2024-11-15 11:16:40 +01:00
gitea 784163b9c9 Enum fix 2024-11-15 11:13:41 +01:00
gitea 8429d4efd5 Start of Armia Hammera 2024-11-15 11:10:49 +01:00
11 changed files with 119 additions and 49 deletions
+9
View File
@@ -32,6 +32,7 @@ class AdministrationModule(commands.Cog):
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj", description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def galeria_slaw(self, ctx): async def galeria_slaw(self, ctx):
if isinstance(ctx.channel, discord.DMChannel): if isinstance(ctx.channel, discord.DMChannel):
for guild in self.bot.guilds: for guild in self.bot.guilds:
@@ -51,6 +52,8 @@ class AdministrationModule(commands.Cog):
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj", description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Jarl', 'Thane')
async def update_banlist(self, ctx): async def update_banlist(self, ctx):
""" """
Update a banlist in a Discord guild from preprovided list in channel. Update a banlist in a Discord guild from preprovided list in channel.
@@ -135,6 +138,12 @@ class AdministrationModule(commands.Cog):
f"Nie mam na serwerze {guild} uprawnień do banowania. :()" f"Nie mam na serwerze {guild} uprawnień do banowania. :()"
) )
await ctx.send("Zrobione tak czy inaczej") await ctx.send("Zrobione tak czy inaczej")
@commands.hybrid_command(
name="archive_channel",
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
guild=discord.Object(id=664789470779932693),
)
@commands.has_any_role('Jarl', 'Thane')
async def archive_channel(self, channel_no): async def archive_channel(self, channel_no):
""" """
+65 -12
View File
@@ -2,13 +2,16 @@
import logging import logging
import re import re
import sys import sys
from enum import Enum
from datetime import datetime from datetime import datetime
from typing import Optional
import discord import discord
import openai import openai
import requests import requests
from discord.ext import commands from discord.ext import commands
import ai_functions import ai_functions
from constants import ( from constants import (
ASSISTANTS, ASSISTANTS,
@@ -19,12 +22,22 @@ from constants import (
OPENAICLIENT, OPENAICLIENT,
SPECJALNE_ZIEMNIACZKI, SPECJALNE_ZIEMNIACZKI,
WORD_REACTIONS, WORD_REACTIONS,
MESSAGE_TABLE
) )
DM_MODE = "assistant" class Dm_Mode(Enum):
ARMIA_HAMMERA = 1,
SPECJALNY_ZIEMNIACZEK = 2,
SEKRETNY_SEKSRET = 3,
ECHO_ECHO = 4
class Events(commands.Cog): class Events(commands.Cog):
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
self.logger = logging.getLogger("discord") self.logger = logging.getLogger("discord")
self.armia = {}
for superfryta in SPECJALNE_ZIEMNIACZKI.values():
self.armia[superfryta[0]] = Dm_Mode.SPECJALNY_ZIEMNIACZEK
self.logger.info(self.armia)
async def cog_load(self): async def cog_load(self):
self.logger.info("Starting personal assistants") self.logger.info("Starting personal assistants")
@@ -59,11 +72,40 @@ class Events(commands.Cog):
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj", description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
async def switch_dm_mode(self, ctx): async def switch_dm_mode(self, ctx, dm_mode_arg: Dm_Mode):
if isinstance(ctx.channel, discord.DMChannel): async with ctx.channel.typing():
pass if isinstance(ctx.channel, discord.DMChannel):
#secrets, assistant, echo, dm for superfryta in SPECJALNE_ZIEMNIACZKI.values():
#required parameter from list of values - assistant, dm_broadcast, echo if ctx.message.author.id == superfryta[0]:
self.armia[superfryta[2]] = dm_mode_arg
await ctx.reply("Weszlo")
return
await ctx.reply("Tylko członkowie Armii Hammera mogą używać. Nie jesteś jednym z nich")
else:
await ctx.reply("Nope. Nie wiesz jak użyć")
@commands.hybrid_command(
name="armia_hammera",
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj"
)
async def armia_hammera(self, ctx, message_txt: str, recipient: Optional[discord.User]):
await self.armia_hammera_back(ctx, message_txt, recipient)
async def armia_hammera_back(self, ctx, message_txt, recipient = None):
recipients = []
if recipient:
recipients.append(recipient.id)
else:
for superfryta in SPECJALNE_ZIEMNIACZKI.values():
recipients.append(superfryta[0])
for item in recipients:
user = await self.bot.fetch_user(item)
channel = await user.create_dm()
self.logger.info("User %s -> %s: %s", ctx.message.author, user, message_txt)
await channel.send(message_txt)
await ctx.reply("Poszło")
@commands.Cog.listener() @commands.Cog.listener()
async def on_message(self, message): async def on_message(self, message):
@@ -105,15 +147,26 @@ class Events(commands.Cog):
for superfryta in SPECJALNE_ZIEMNIACZKI.values(): for superfryta in SPECJALNE_ZIEMNIACZKI.values():
self.logger.info(superfryta[0]) self.logger.info(superfryta[0])
if message.author.id == superfryta[0]: if message.author.id == superfryta[0]:
await self.bot.process_commands(message) if self.armia[message.author.id]== Dm_Mode.SPECJALNY_ZIEMNIACZEK:
await ai_functions.chat_with_assistant(message, superfryta[1]) await self.bot.process_commands(message)
return await ai_functions.chat_with_assistant(message, superfryta[1])
return
elif self.armia[message.author.id]== Dm_Mode.ECHO_ECHO:
await ai_functions.echo(message)
return
elif self.armia[message.author.id]== Dm_Mode.ARMIA_HAMMERA:
ctx = await self.bot.get_context(message)
self.armia_hammera_back(ctx=ctx, message_txt=message.content)
return
elif self.armia[message.author.id]== Dm_Mode.SEKRETNY_SEKSRET:
pass
else:
await message.channel.send("Coś się wyebao. Wołaj Hammera")
return
channel = self.bot.get_channel(1064888712565100614) channel = self.bot.get_channel(1064888712565100614)
#await channel.send("Słyszałem ja żem że: " + message.content) await channel.send("Słyszałem ja żem że: " + message.content)
return return
channel = message.channel channel = message.channel
# await self.bot.process_commands(message) #uncomment to bilocate
message.content = message.content.lower() message.content = message.content.lower()
tdelta = datetime.now() - MASTER_TIMEOUT tdelta = datetime.now() - MASTER_TIMEOUT
-1
View File
@@ -64,7 +64,6 @@ async def handle_response(
and the response will be generated using a different model and the response will be generated using a different model
:return: The function `handle_response` returns a tuple containing the `result` and `MESSAGE_TABLE`. :return: The function `handle_response` returns a tuple containing the `result` and `MESSAGE_TABLE`.
""" """
# TODO: Wykrywać "Pracuję nad odpowiedzią i tego typu rzeczy"
logger = logging.getLogger("discord") logger = logging.getLogger("discord")
logger.info("Wywolanie procedury openai z promptem: %s", prompt) logger.info("Wywolanie procedury openai z promptem: %s", prompt)
temp = {"role": "user", "content": username + ":" + prompt} temp = {"role": "user", "content": username + ":" + prompt}
-1
View File
@@ -56,7 +56,6 @@ s = crossfade(fade_out=2., fade_in=2., duration=4., fallback(id="switcher", trac
# Set up an interactive harbor for controlling the stream # Set up an interactive harbor for controlling the stream
interactive.harbor(port = 9999) interactive.harbor(port = 9999)
#harbor.input(buffer=30.0)
# Set up interactive controls for bass boost # Set up interactive controls for bass boost
f = interactive.float("f", description="Frequency", min=0., max=1000., unit="Hz", 200.) f = interactive.float("f", description="Frequency", min=0., max=1000., unit="Hz", 200.)
g = interactive.float("g", description="Gain", min=0., max=20., unit="dB", 8.) g = interactive.float("g", description="Gain", min=0., max=20., unit="dB", 8.)
+3 -3
View File
@@ -28,6 +28,8 @@ class DataModule(commands.Cog):
description="Wyświetla losową stronę z losowego komiksu FanSadox. Bardzo NSFW.", description="Wyświetla losową stronę z losowego komiksu FanSadox. Bardzo NSFW.",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def get_image_sadox(self, ctx): async def get_image_sadox(self, ctx):
""" """
Take in a context parameter and retrieve an image related from fansadox collection. Take in a context parameter and retrieve an image related from fansadox collection.
@@ -67,7 +69,6 @@ class DataModule(commands.Cog):
await ctx.send(file=file) await ctx.send(file=file)
self.logger.info("Get sadox completed") self.logger.info("Get sadox completed")
# TODO: LIBRARIAN
@tasks.loop(seconds=3) @tasks.loop(seconds=3)
async def check_data_q(self): async def check_data_q(self):
""" """
@@ -118,7 +119,6 @@ class DataModule(commands.Cog):
except Empty: except Empty:
pass pass
# TODO: LIBRARIAN
@commands.hybrid_command( @commands.hybrid_command(
name="wyszukaj_linki_do_dokumentow", name="wyszukaj_linki_do_dokumentow",
description="Szuka linkow doi w bazie crossref i podaje linki do scihuba", description="Szuka linkow doi w bazie crossref i podaje linki do scihuba",
@@ -181,12 +181,12 @@ class DataModule(commands.Cog):
+ " Zapytania obsługuje algorytm zasilany czterema chomikami zapierdalającymi w kołowrotku - więc wyniki najwcześniej za kilka godzi - ale mogą być też dni." + " Zapytania obsługuje algorytm zasilany czterema chomikami zapierdalającymi w kołowrotku - więc wyniki najwcześniej za kilka godzi - ale mogą być też dni."
) )
# TODO: LIBRARIAN
@commands.hybrid_command( @commands.hybrid_command(
name="glebokie_gardlo", name="glebokie_gardlo",
description="Przygotowuje drinka o nazwie głębokie gardło", description="Przygotowuje drinka o nazwie głębokie gardło",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
async def wyszukaj_linki_do_dokumentow_deep(self, ctx): async def wyszukaj_linki_do_dokumentow_deep(self, ctx):
""" """
The function `wyszukaj_linki_do_dokumentow_deep` performs a deep search for links to documents in The function `wyszukaj_linki_do_dokumentow_deep` performs a deep search for links to documents in
+28 -26
View File
@@ -25,6 +25,7 @@ class MusicModule(commands.Cog):
name="krecimy_pornola", name="krecimy_pornola",
description="Wiadomo co, dla kogo i po co", description="Wiadomo co, dla kogo i po co",
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def krecimy_pornola(self, ctx): async def krecimy_pornola(self, ctx):
""" """
Download a music number from youtube. Download a music number from youtube.
@@ -35,33 +36,28 @@ class MusicModule(commands.Cog):
with the Discord API and with the Discord API and
""" """
await ctx.send("Dej mnie chwilkę") await ctx.send("Dej mnie chwilkę")
allowed = False self.logger.info("Pornol")
for role in ctx.author.roles: async with ctx.typing():
if role.name == "Bartender": # wyciagnij linka z kontekstu
allowed = True content = ctx.message.content.split()
if allowed: for item_yt in content:
self.logger.info("Pornol") if re.match("http.*", item_yt):
async with ctx.typing(): sciezka, files = await music_functions.get_file(
# wyciagnij linka z kontekstu ctx, "Pornol", item_yt
content = ctx.message.content.split() )
for item_yt in content: if files:
if re.match("http.*", item_yt): self.logger.info("Pornol udany")
sciezka, files = await music_functions.get_file( await ctx.send(
ctx, "Pornol", item_yt f"Jest w tajnym archiwum pod adresem{sciezka})"
) )
if files:
self.logger.info("Pornol udany")
await ctx.send(
f"Jest w tajnym archiwum pod adresem{sciezka})"
)
else:
await ctx.reply("Jak ładnie szefa poprosisz.")
@commands.hybrid_command( @commands.hybrid_command(
name="co_na_plejliscie_wariacie", name="co_na_plejliscie_wariacie",
description="Wyswietl kawalki ktore sa na pocztku list radia", description="Wyswietl kawalki ktore sa na pocztku list radia",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def co_na_plejliscie_wariacie(self, ctx): async def co_na_plejliscie_wariacie(self, ctx):
""" """
Download a music number from youtube. Download a music number from youtube.
@@ -101,6 +97,7 @@ class MusicModule(commands.Cog):
description="Podaj link do youtube - sciagnie i doda muzyke", description="Podaj link do youtube - sciagnie i doda muzyke",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def dej_co_z_jutuba(self, ctx): async def dej_co_z_jutuba(self, ctx):
""" """
Download a music number from youtube. Download a music number from youtube.
@@ -132,6 +129,7 @@ class MusicModule(commands.Cog):
description="Podaj link do spotify - sciagnie i doda muzyke", description="Podaj link do spotify - sciagnie i doda muzyke",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def dej_co_ze_spotifaja(self, ctx): async def dej_co_ze_spotifaja(self, ctx):
""" """
Get a playlist or a music number from Spotify. Get a playlist or a music number from Spotify.
@@ -187,6 +185,7 @@ class MusicModule(commands.Cog):
description="Wyłącza muzykę i czyści plejliste.", description="Wyłącza muzykę i czyści plejliste.",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def cisza(self, ctx): async def cisza(self, ctx):
""" """
Stop playback of the music and clear the queue. Stop playback of the music and clear the queue.
@@ -213,6 +212,7 @@ class MusicModule(commands.Cog):
description="Przerzuca na następny kawałek", description="Przerzuca na następny kawałek",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def dalej(self, ctx): async def dalej(self, ctx):
""" """
Play next track in queue. Play next track in queue.
@@ -230,12 +230,12 @@ class MusicModule(commands.Cog):
voice_client.stop() voice_client.stop()
self.logger.info("Next completed") self.logger.info("Next completed")
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="daj_mi_chwile", name="daj_mi_chwile",
description="Pauzuje", description="Pauzuje",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def daj_mi_chwile(self, ctx): async def daj_mi_chwile(self, ctx):
""" """
Pause music playback. Pause music playback.
@@ -254,12 +254,12 @@ class MusicModule(commands.Cog):
voice_client.pause() voice_client.pause()
self.logger.info("Pause completed") self.logger.info("Pause completed")
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="graj_dalej", name="graj_dalej",
description="Odpauzowuje", description="Odpauzowuje",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def graj_dalej(self, ctx): async def graj_dalej(self, ctx):
""" """
Unpause music and continue playback. Unpause music and continue playback.
@@ -277,12 +277,12 @@ class MusicModule(commands.Cog):
voice_client.resume() voice_client.resume()
self.logger.info("Unpause completed") self.logger.info("Unpause completed")
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="zagraj_mi_kawalek", name="zagraj_mi_kawalek",
description="Wyszukuje w bibliotece muzycznej Hammera kawałek który ma zostać zagrany", description="Wyszukuje w bibliotece muzycznej Hammera kawałek który ma zostać zagrany",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def zagraj_mi_kawalek(self, ctx): async def zagraj_mi_kawalek(self, ctx):
""" """
Play a song or music piece in response to a command Play a song or music piece in response to a command
@@ -327,12 +327,12 @@ class MusicModule(commands.Cog):
"Obawiam się że nie mogę nic znaleźć u siebie. Spróbuj komendy '$dej_co_ze_spotifaja' jeśli masz link" "Obawiam się że nie mogę nic znaleźć u siebie. Spróbuj komendy '$dej_co_ze_spotifaja' jeśli masz link"
) )
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="zrob_mi_plejliste", name="zrob_mi_plejliste",
description="Generuje playliste - param1 - dlugosc, potem slowa wyszukiwania", description="Generuje playliste - param1 - dlugosc, potem slowa wyszukiwania",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def zrob_mi_plejliste(self, ctx): async def zrob_mi_plejliste(self, ctx):
""" """
Generate a playlist in queue. First word in this command shall be int defining length of the playlist. Generate a playlist in queue. First word in this command shall be int defining length of the playlist.
@@ -394,12 +394,12 @@ class MusicModule(commands.Cog):
await ctx.send(reply) await ctx.send(reply)
self.logger.info("Plejlista zrobiona") self.logger.info("Plejlista zrobiona")
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="zagraj_muzyke_mego_ludu", name="zagraj_muzyke_mego_ludu",
description="Gra muzyke wyszukana na bazie tematow konwersacji na kanale NZ", description="Gra muzyke wyszukana na bazie tematow konwersacji na kanale NZ",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def zagraj_muzyke_mego_ludu(self, ctx): async def zagraj_muzyke_mego_ludu(self, ctx):
""" """
Play completeley random playlist based on messaging history. Play completeley random playlist based on messaging history.
@@ -480,12 +480,12 @@ class MusicModule(commands.Cog):
await ctx.send(reply) await ctx.send(reply)
self.logger.info("Plejlista zrobiona") self.logger.info("Plejlista zrobiona")
# TODO: MUSIC
@commands.hybrid_command( @commands.hybrid_command(
name="parametry_muzyki_mego_ludu", name="parametry_muzyki_mego_ludu",
description="Konfiguruje komende zagraj muzyke mojego ludu", description="Konfiguruje komende zagraj muzyke mojego ludu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def parametry_muzyki_mego_ludu( async def parametry_muzyki_mego_ludu(
self, ctx, ile_historii=1500, ile_slow_kluczowych=15, jak_dluga_plejlista=30 self, ctx, ile_historii=1500, ile_slow_kluczowych=15, jak_dluga_plejlista=30
): ):
@@ -547,6 +547,7 @@ class MusicModule(commands.Cog):
description="Włącza muzykę na kanale #nocna-zmiana.", description="Włącza muzykę na kanale #nocna-zmiana.",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def graj_muzyko(self, ctx): async def graj_muzyko(self, ctx):
""" """
Async function named "graj_muzyko" starts music playback on channel "Nocna Zmiana". Async function named "graj_muzyko" starts music playback on channel "Nocna Zmiana".
@@ -603,6 +604,7 @@ class MusicModule(commands.Cog):
description="Zaciąga obiekty z pliku", description="Zaciąga obiekty z pliku",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def batch_download(self, ctx): async def batch_download(self, ctx):
content_type = ctx.message.attachments[0].content_type content_type = ctx.message.attachments[0].content_type
check = re.search("text\/plain; *charset=(.*)", content_type, re.IGNORECASE) check = re.search("text\/plain; *charset=(.*)", content_type, re.IGNORECASE)
+6 -1
View File
@@ -20,6 +20,7 @@ class OtherModule(commands.Cog):
@commands.hybrid_command( @commands.hybrid_command(
name="przytul", description="Przytul kogoś - daj mention po komendzie :)" name="przytul", description="Przytul kogoś - daj mention po komendzie :)"
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def przytul(self, ctx, arg: Optional[discord.Member] = None): async def przytul(self, ctx, arg: Optional[discord.Member] = None):
""" """
Generate a text about hugging mentioned user. Generate a text about hugging mentioned user.
@@ -53,6 +54,7 @@ class OtherModule(commands.Cog):
) )
@commands.hybrid_command(name="fabryczka", description="Historia fabryczki") @commands.hybrid_command(name="fabryczka", description="Historia fabryczki")
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def fabryczka(self, ctx): async def fabryczka(self, ctx):
""" """
Send a general description of "fabryczkagate" to channel. Send a general description of "fabryczkagate" to channel.
@@ -69,6 +71,7 @@ class OtherModule(commands.Cog):
description="Resetowanie zegara - dostępne wyłącznie dla Hammera", description="Resetowanie zegara - dostępne wyłącznie dla Hammera",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def reset_the_clock(self, ctx): async def reset_the_clock(self, ctx):
""" """
Reset the clock on "accidents" in Hammer Fortress adding a new one. Reset the clock on "accidents" in Hammer Fortress adding a new one.
@@ -105,6 +108,7 @@ class OtherModule(commands.Cog):
name="chata_hammera", name="chata_hammera",
description="Czas od ostatniego incydentu w AbsinthHammerTimeSpaceContinuum", description="Czas od ostatniego incydentu w AbsinthHammerTimeSpaceContinuum",
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def chata_hammera(self, ctx): async def chata_hammera(self, ctx):
""" """
Send measured time from last incident in Hammer Fortress to the chat. Send measured time from last incident in Hammer Fortress to the chat.
@@ -127,6 +131,7 @@ class OtherModule(commands.Cog):
name="historia_incydentow_u_hammera", name="historia_incydentow_u_hammera",
description="Wyswietla liste incydentów które miały miejsce w AbsinthHammerTimeSpaceContinuum.", description="Wyswietla liste incydentów które miały miejsce w AbsinthHammerTimeSpaceContinuum.",
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def historia_incydentow_u_hammera(self, ctx): async def historia_incydentow_u_hammera(self, ctx):
""" """
Send a list of incidents in Hammer Fortress to the chat. Send a list of incidents in Hammer Fortress to the chat.
@@ -149,12 +154,12 @@ class OtherModule(commands.Cog):
index += 1 index += 1
await ctx.send(return_data) await ctx.send(return_data)
# TODO: RADIO
@commands.hybrid_command( @commands.hybrid_command(
name="radio_hardkor", name="radio_hardkor",
description="Włącza radio Conjurer na kanale #nocna-zmiana.", description="Włącza radio Conjurer na kanale #nocna-zmiana.",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def radio_hardkor(self, ctx): async def radio_hardkor(self, ctx):
""" """
Plays the radio hardkor stream in the voice channel. Plays the radio hardkor stream in the voice channel.
-2
View File
@@ -26,7 +26,6 @@ async def async_iterator_generator(range_of_iterable):
""" """
# TODO: OTHER
async def remove_characters(string, character): async def remove_characters(string, character):
""" """
The `remove_characters` function removes all occurrences of a specified character from a given The `remove_characters` function removes all occurrences of a specified character from a given
@@ -39,7 +38,6 @@ async def remove_characters(string, character):
return string.replace(character, "") return string.replace(character, "")
# TODO: OTHER
async def max_weight(lista): async def max_weight(lista):
""" """
Take a list of weights and return the maximum weight. Take a list of weights and return the maximum weight.
+6
View File
@@ -21,6 +21,7 @@ class RadioModule(commands.Cog):
description="Przeskocz kawałek w radiu", description="Przeskocz kawałek w radiu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def skip_track(self, ctx): async def skip_track(self, ctx):
async with ctx.typing(): async with ctx.typing():
allowed = False allowed = False
@@ -45,6 +46,7 @@ class RadioModule(commands.Cog):
description="Komenda ktora uruchamia radio ponownie jakby się zawiesiło", description="Komenda ktora uruchamia radio ponownie jakby się zawiesiło",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def zrestartuj_radio(self, ctx): async def zrestartuj_radio(self, ctx):
async with ctx.typing(): async with ctx.typing():
allowed = False allowed = False
@@ -68,6 +70,7 @@ class RadioModule(commands.Cog):
description="Dodaje do listy ulubionych w radiu", description="Dodaje do listy ulubionych w radiu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def dodaj_do_ulubionych(self, ctx): async def dodaj_do_ulubionych(self, ctx):
""" """
Generate a playlist in queue. First word in this command shall be int defining length of the playlist. Generate a playlist in queue. First word in this command shall be int defining length of the playlist.
@@ -104,6 +107,7 @@ class RadioModule(commands.Cog):
description="Dodaje do listy ulubionych w radiu", description="Dodaje do listy ulubionych w radiu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def request_radio(self, ctx): async def request_radio(self, ctx):
""" """
Generate a playlist in queue. First word in this command shall be int defining length of the playlist. Generate a playlist in queue. First word in this command shall be int defining length of the playlist.
@@ -138,6 +142,7 @@ class RadioModule(commands.Cog):
description="Dodaje do listy ulubionych w radiu", description="Dodaje do listy ulubionych w radiu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def stworz_audycje(self, ctx): async def stworz_audycje(self, ctx):
""" """
Generate a playlist in queue. First word in this command shall be int defining length of the playlist. Generate a playlist in queue. First word in this command shall be int defining length of the playlist.
@@ -174,6 +179,7 @@ class RadioModule(commands.Cog):
description="Czysci liste ulubionych w radiu", description="Czysci liste ulubionych w radiu",
guild=discord.Object(id=664789470779932693), guild=discord.Object(id=664789470779932693),
) )
@commands.has_any_role('Legenda', 'Jarl', 'Thane' , 'Bartender')
async def wyczysc_ulubione(self, ctx): async def wyczysc_ulubione(self, ctx):
""" """
Generate a playlist in queue. First word in this command shall be int defining length of the playlist. Generate a playlist in queue. First word in this command shall be int defining length of the playlist.
-3
View File
@@ -73,9 +73,6 @@ async def on_ready():
logger.info("ID:", client.user.id) logger.info("ID:", client.user.id)
# TODO: ADMINISTRATION
# *================================== Run # *================================== Run
if __name__ == "__main__": if __name__ == "__main__":
logger.info("Starting discord bot") logger.info("Starting discord bot")
+2
View File
@@ -161,6 +161,7 @@ class Transcriber(commands.Cog):
self.logger = logging.getLogger("discord") self.logger = logging.getLogger("discord")
@commands.hybrid_command(name="transcribe") @commands.hybrid_command(name="transcribe")
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def test(self, ctx): async def test(self, ctx):
if self.vc: if self.vc:
vc = self.vc # to juz powinien byc voice channel z funkcja conenct vc = self.vc # to juz powinien byc voice channel z funkcja conenct
@@ -231,6 +232,7 @@ class Transcriber(commands.Cog):
self.logger.debug("After %s", after) self.logger.debug("After %s", after)
@commands.command(name="stop_transcribe") @commands.command(name="stop_transcribe")
@commands.has_any_role('Nocna Zmiana', 'Jarl', 'Thane' , 'Bartender')
async def stop(self, ctx): async def stop(self, ctx):
self.check_data.stop() self.check_data.stop()
stop_token = CommunicationObject("STOP", None, None) stop_token = CommunicationObject("STOP", None, None)