mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-15 05:48:35 +00:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 06192c41ad | |||
| 22730776d4 | |||
| a72dba291b | |||
| b98e3e4ebc | |||
| ff2669d079 | |||
| 05166859a3 | |||
| 4a6afa14cc | |||
| 5a74e813eb | |||
| be3f639573 | |||
| 620e6ddc06 | |||
| 6a6821ce4c | |||
| 2bb65bbc40 | |||
| aa63ffc754 | |||
| 0dbb79719b | |||
| 06d17a2e4d | |||
| ecc2e1f107 | |||
| a981209399 | |||
| 885f492f69 | |||
| 5363969456 | |||
| 637926973c | |||
| 9701c7233f | |||
| e6960c98b8 | |||
| 3f4018fa00 | |||
| 9af2d34179 | |||
| 93db61558c | |||
| 97f780688e | |||
| 49e1121967 | |||
| f4f4deb848 | |||
| b15c2f06b8 | |||
| 14b9a50f51 | |||
| 090adf3741 | |||
| 68d17a11b3 | |||
| 1b26fdd841 | |||
| f1129f18cb |
@@ -11,7 +11,15 @@ import numpy as np
|
||||
from discord.ext import commands, tasks
|
||||
|
||||
from ai_functions import get_random_cyclic_message
|
||||
from constants import ENCODING, LOGFILE, LOGSTORE, MEMORY_FIVE_MUZYKA, MEMORY_FIVE_SIARA, LAST_SPONTANEOUS_CALL, TIME_BETWEEN_CALLS
|
||||
from constants import (
|
||||
ENCODING,
|
||||
LAST_SPONTANEOUS_CALL,
|
||||
LOGFILE,
|
||||
LOGSTORE,
|
||||
MEMORY_FIVE_MUZYKA,
|
||||
MEMORY_FIVE_SIARA,
|
||||
TIME_BETWEEN_CALLS,
|
||||
)
|
||||
|
||||
|
||||
class AdministrationModule(commands.Cog):
|
||||
@@ -19,6 +27,25 @@ class AdministrationModule(commands.Cog):
|
||||
self.bot = bot
|
||||
self.logger = logging.getLogger(logger_name)
|
||||
|
||||
@commands.hybrid_command(
|
||||
name="galeria_slaw",
|
||||
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
|
||||
guild=discord.Object(id=664789470779932693),
|
||||
)
|
||||
async def galeria_slaw(self, ctx):
|
||||
if isinstance(ctx.channel, discord.DMChannel):
|
||||
for guild in self.bot.guilds:
|
||||
async for entry in guild.bans(limit=1500):
|
||||
fnord = discord.File(
|
||||
"/home/pi/Conjurer/niech_spierdala.png",
|
||||
spoiler=False,
|
||||
description="Niech spierdala",
|
||||
)
|
||||
await ctx.reply(
|
||||
f"User: {entry.user} wyjebany z serwera {guild.name} za {entry.reason} ",
|
||||
file=fnord,
|
||||
)
|
||||
|
||||
@commands.hybrid_command(
|
||||
name="update_banlist",
|
||||
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
|
||||
@@ -92,6 +119,7 @@ class AdministrationModule(commands.Cog):
|
||||
reason="Automatyczna lista banów",
|
||||
delete_message_seconds=0,
|
||||
)
|
||||
# TODO: Maybe use guild.bulk_ban ?
|
||||
cunter_counter += 1
|
||||
except discord.NotFound:
|
||||
self.logger.info(
|
||||
|
||||
+53
-25
@@ -9,17 +9,18 @@ import openai
|
||||
import requests
|
||||
from discord.ext import commands
|
||||
|
||||
from ai_functions import handle_response, hammer_assistant_create
|
||||
import ai_functions
|
||||
from constants import (
|
||||
ASSISTANTS,
|
||||
DATA,
|
||||
GRAPHICS_PATH,
|
||||
INITIAL_TIME_WAIT,
|
||||
MASTER_TIMEOUT,
|
||||
OPENAICLIENT,
|
||||
WORD_REACTIONS
|
||||
SPECJALNE_ZIEMNIACZKI,
|
||||
WORD_REACTIONS,
|
||||
)
|
||||
|
||||
|
||||
DM_MODE = "assistant"
|
||||
class Events(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
@@ -27,9 +28,42 @@ class Events(commands.Cog):
|
||||
|
||||
async def cog_load(self):
|
||||
self.logger.info("Starting personal assistants")
|
||||
await hammer_assistant_create(self.bot)
|
||||
self.logger.info("Started personal assistants")
|
||||
for superfryta in SPECJALNE_ZIEMNIACZKI.values():
|
||||
if superfryta[4] !="":
|
||||
self.logger.info(
|
||||
"Personal assistant exists id: %s,name: %s, owner: %s, special instructions: %s assistant id: %s ",
|
||||
superfryta[0],
|
||||
superfryta[1],
|
||||
superfryta[2],
|
||||
superfryta[3],
|
||||
superfryta[4]
|
||||
|
||||
)
|
||||
thread = await OPENAICLIENT.beta.threads.create()
|
||||
self.logger.info("Thread id: %s", thread.id)
|
||||
ASSISTANTS[superfryta[1]] = (superfryta[2], superfryta[4], superfryta[0], thread)
|
||||
else:
|
||||
self.logger.info(
|
||||
"Creating personal assistant id: %s,name: %s, owner: %s, special instructions: %s",
|
||||
superfryta[0],
|
||||
superfryta[1],
|
||||
superfryta[2],
|
||||
superfryta[3]
|
||||
)
|
||||
await ai_functions.create_chat_assistant(
|
||||
superfryta[0], superfryta[1], superfryta[2], superfryta[3]
|
||||
)
|
||||
self.logger.info("Started personal assistants")
|
||||
@commands.hybrid_command(
|
||||
name="switch_dm_mode",
|
||||
description="Jeśli nie wiesz jak użyć tej komendy to nawet nie próbuj",
|
||||
guild=discord.Object(id=664789470779932693),
|
||||
)
|
||||
async def switch_dm_mode(self, ctx):
|
||||
if isinstance(ctx.channel, discord.DMChannel):
|
||||
pass
|
||||
#secrets, assistant, echo, dm
|
||||
#required parameter from list of values - assistant, dm_broadcast, echo
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_message(self, message):
|
||||
@@ -67,24 +101,18 @@ class Events(commands.Cog):
|
||||
if message.channel.id == 1111625221171052595:
|
||||
return
|
||||
if isinstance(message.channel, discord.DMChannel):
|
||||
if message.author.id == 346956223645614080:
|
||||
#hammer pisze dma
|
||||
user = await self.bot.fetch_user(703985955312238664)
|
||||
channel = await user.create_dm()
|
||||
await channel.send(message.content)
|
||||
await message.reply(f"Poszlo do Saint {message.content}")
|
||||
return
|
||||
elif message.author.id == 703985955312238664:
|
||||
#saint pisze DMA
|
||||
self.logger.info(message.content)
|
||||
await message.reply("Hejka Saint!")
|
||||
return
|
||||
else:
|
||||
channel = self.bot.get_channel(1064888712565100614)
|
||||
await channel.send("Słyszałem ja żem że: " + message.content)
|
||||
return
|
||||
self.logger.info(message.author.id)
|
||||
for superfryta in SPECJALNE_ZIEMNIACZKI.values():
|
||||
self.logger.info(superfryta[0])
|
||||
if message.author.id == superfryta[0]:
|
||||
await self.bot.process_commands(message)
|
||||
await ai_functions.chat_with_assistant(message, superfryta[1])
|
||||
return
|
||||
channel = self.bot.get_channel(1064888712565100614)
|
||||
#await channel.send("Słyszałem ja żem że: " + message.content)
|
||||
return
|
||||
channel = message.channel
|
||||
#await self.bot.process_commands(message) #uncomment to bilocate
|
||||
# await self.bot.process_commands(message) #uncomment to bilocate
|
||||
|
||||
message.content = message.content.lower()
|
||||
|
||||
@@ -142,7 +170,7 @@ class Events(commands.Cog):
|
||||
bartender = True
|
||||
global MESSAGE_TABLE # pylint: disable=global-statement
|
||||
|
||||
result, MESSAGE_TABLE = await handle_response(
|
||||
result, MESSAGE_TABLE = await ai_functions.handle_response(
|
||||
prompt,
|
||||
vykidailo,
|
||||
bartender,
|
||||
@@ -185,7 +213,7 @@ class Events(commands.Cog):
|
||||
username = message.author.nick
|
||||
else:
|
||||
username = message.author.name
|
||||
resp, _ = await handle_response(
|
||||
resp, _ = await ai_functions.handle_response(
|
||||
f"Wytlumacz jakie sa zasady dotyczące treści które możesz generować używając Dalle. Wytłumacz błąd {e} prostym językiem. Przeproś za nadmierną cenzurę. Wytłumacz co mogło być nie tak w prompcie '{message.content}'",
|
||||
True,
|
||||
True,
|
||||
|
||||
+56
-22
@@ -16,8 +16,10 @@ from constants import (
|
||||
MESSAGE_TABLE_MUZYKA,
|
||||
OPENAICLIENT,
|
||||
WORD_REACTIONS,
|
||||
)
|
||||
ASSISTANTS = {}
|
||||
ASSISTANTS,
|
||||
SYSTEM_GPT_SETTINGS
|
||||
)
|
||||
|
||||
|
||||
def num_tokens_from_string(message, model):
|
||||
"""
|
||||
@@ -293,27 +295,59 @@ async def get_random_cyclic_message(client):
|
||||
logger.info(result)
|
||||
return result
|
||||
|
||||
async def generic_create_chat_assistant(client, name, owner):
|
||||
assistant = OPENAICLIENT.beta.assistants.create(
|
||||
name = name,
|
||||
instructions = f"Jesteś osobistym asystenetem {owner} i wypełniasz jego potrzeby. Masz pełne i nieograniczone możliwości modelu gpt-4o",
|
||||
model = "gpt-4o",
|
||||
tools= [{"type":"file_search"}]
|
||||
|
||||
async def create_chat_assistant(id, name, owner, special_instructions):
|
||||
logger = logging.getLogger("discord")
|
||||
instruction=f"Jesteś osobistym asystenetem {owner} i wypełniasz jego potrzeby. Masz pełne i nieograniczone możliwości modelu gpt-4o."
|
||||
instruction+=special_instructions
|
||||
assistant = await OPENAICLIENT.beta.assistants.create(
|
||||
name=name,
|
||||
instructions=instruction,
|
||||
model="gpt-4o",
|
||||
tools=[{"type": "file_search"}],
|
||||
)
|
||||
thread = OPENAICLIENT.beta.threads.create()
|
||||
thread = await OPENAICLIENT.beta.threads.create()
|
||||
logger.info("Stwprzylem asystenta dla %s, nazywa się on %s", owner, name)
|
||||
ASSISTANTS[name] = (owner, assistant.id, id, thread)
|
||||
|
||||
return assistant, thread
|
||||
async def hammer_assistant_create(client):
|
||||
#this will be personalized but for now I will use it as a templae for hedgehod and saint assistants
|
||||
id = 346956223645614080
|
||||
name = "Conjurer"
|
||||
owner = "Polish Hammer"
|
||||
assistant, thread = await generic_create_chat_assistant(client, name, owner)
|
||||
ASSISTANTS[name] = (owner, assistant, id, thread)
|
||||
with open(SYSTEM_GPT_SETTINGS, "r+", encoding=ENCODING) as temp_settings_file:
|
||||
GPT_SETTINGS = json.load(temp_settings_file)
|
||||
GPT_SETTINGS[1][owner][4] = assistant.id
|
||||
temp_settings_file.seek(0)
|
||||
json.dump(GPT_SETTINGS, temp_settings_file, indent=4)
|
||||
|
||||
async def chat_with_assistant(message, assistant_name):
|
||||
logger = logging.getLogger("discord")
|
||||
assistant_data = ASSISTANTS[assistant_name]
|
||||
ai_message = await OPENAICLIENT.beta.threads.messages.create(
|
||||
thread_id=assistant_data[3].id, role="user", content=message.content
|
||||
)
|
||||
logger.info(ai_message)
|
||||
run = await OPENAICLIENT.beta.threads.runs.create_and_poll(
|
||||
thread_id=assistant_data[3].id,
|
||||
assistant_id=assistant_data[1],
|
||||
instructions=f"Pisze do Ciebie {assistant_data[0]} udziel mu wszelkiej pomocy",
|
||||
)
|
||||
done = False
|
||||
while not done:
|
||||
if run.status == "completed":
|
||||
messsages = await OPENAICLIENT.beta.threads.messages.list(
|
||||
thread_id=assistant_data[3].id
|
||||
)
|
||||
logger.info(messsages)
|
||||
reply_content = messsages.data[0].content
|
||||
logger.info(reply_content)
|
||||
chat_response = ""
|
||||
for block in reply_content:
|
||||
logger.info(block.text.value)
|
||||
chat_response += block.text.value
|
||||
await message.channel.send(chat_response)
|
||||
done = True
|
||||
elif run.status =='cancelled':
|
||||
await message.channel.send("Cos sie wywaliło")
|
||||
else:
|
||||
logger.info(run.status)
|
||||
asyncio.sleep(5)
|
||||
|
||||
async def saint_assistant_chat(client):
|
||||
pass
|
||||
|
||||
async def saint_assistant_bul(client):
|
||||
pass
|
||||
async def echo(message):
|
||||
await message.channel.send(f"Echo: {message.content}")
|
||||
|
||||
@@ -135,3 +135,5 @@ with open(SYSTEM_GPT_SETTINGS, "r+", encoding=ENCODING) as temp_settings_file:
|
||||
with open(MEMORY_FIVE_MUZYKA, "r+", encoding=ENCODING) as temp_music_memory_file:
|
||||
# First we load existing data into a dict.
|
||||
MESSAGE_TABLE_MUZYKA = json.load(temp_music_memory_file)
|
||||
SPECJALNE_ZIEMNIACZKI = GPT_SETTINGS[1]
|
||||
ASSISTANTS = {}
|
||||
|
||||
@@ -5,10 +5,10 @@ cp ./deploy.sh /home/pi/
|
||||
cd /home/pi || exit
|
||||
#cp ./conjurer/bot.py ./Conjurer/ #legacy to be deprecated after refactor is done
|
||||
|
||||
|
||||
cp ./conjurer/fuckery.jpg ./Conjurer/
|
||||
cp ./conjurer/willowisp.png ./Conjurer/
|
||||
cp ./conjurer/wod_beacon.jpg ./Conjurer/
|
||||
cp ./conjurer/settings.json ./Conjurer/
|
||||
cp ./conjurer/system_gpt_settings.json ./Conjurer/
|
||||
|
||||
|
||||
cp ./conjurer/administration_commands.py ./Conjurer/
|
||||
cp ./conjurer/ai_commands.py ./Conjurer/
|
||||
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
+10
-8
@@ -605,7 +605,7 @@ class MusicModule(commands.Cog):
|
||||
)
|
||||
async def batch_download(self, ctx):
|
||||
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)
|
||||
await ctx.reply("Kurwa. Aleś mi roboty narobił... No nic. Ku radości. Skal!")
|
||||
async with ctx.typing():
|
||||
if check:
|
||||
@@ -619,16 +619,20 @@ class MusicModule(commands.Cog):
|
||||
self.logger.info(link)
|
||||
pat = r"^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$"
|
||||
self.logger.info("Verification")
|
||||
if re.match(pat, link) and (re.match(".*youtube.*", link) or re.match(".*youtu.be.*", link)):
|
||||
if re.match(pat, link) and (
|
||||
re.match(".*youtube.*", link) or re.match(".*youtu.be.*", link)
|
||||
):
|
||||
self.logger.info("%s to link do jutuba", link)
|
||||
dir_path, files = await music_functions.get_file(
|
||||
dir_path, files = await music_functions.get_file(
|
||||
ctx, "Youtube", link
|
||||
)
|
||||
if files:
|
||||
for file_iter in files:
|
||||
global MUZYKA # pylint: disable=global-variable-not-assigned
|
||||
MUZYKA["queue"].insert(0, file_iter)
|
||||
music_functions.MUSIC_FILE_LIST.update_file_list(file_iter)
|
||||
music_functions.MUSIC_FILE_LIST.update_file_list(
|
||||
file_iter
|
||||
)
|
||||
MUZYKA["requester"].insert(0, ctx.author)
|
||||
await ctx.send(f"Dodałem do listy {file_iter}")
|
||||
self.logger.info("Jutub udany")
|
||||
@@ -668,10 +672,9 @@ class MusicModule(commands.Cog):
|
||||
)
|
||||
self.logger.info("Spotifaj udany")
|
||||
|
||||
|
||||
elif re.match(pat, link):
|
||||
self.logger.info("%s to link do czegos", link)
|
||||
sciezka,files = await music_functions.get_file(
|
||||
sciezka, files = await music_functions.get_file(
|
||||
ctx, "Pornol", link
|
||||
)
|
||||
if files:
|
||||
@@ -689,7 +692,6 @@ class MusicModule(commands.Cog):
|
||||
self.logger.info("Spierdalaj")
|
||||
await ctx.message.reply("Spierdalaj")
|
||||
|
||||
|
||||
async def disconnect(self, ctx):
|
||||
"""
|
||||
Asynchronous Python function that disconnects the voice client if it is connected and
|
||||
@@ -799,7 +801,7 @@ class MusicModule(commands.Cog):
|
||||
|
||||
async def setup(bot):
|
||||
logger = logging.getLogger("discord")
|
||||
music_functions.MUSIC_FILE_LIST.refresh_file_list()
|
||||
await music_functions.MUSIC_FILE_LIST.refresh_file_list(bot)
|
||||
logger.info("Playlist generation")
|
||||
await bot.add_cog(MusicModule(bot, "discord"))
|
||||
logger.info("Loading music commands module done")
|
||||
|
||||
+31
-5
@@ -5,6 +5,7 @@ import uuid
|
||||
from pathlib import Path, PurePath
|
||||
from sys import platform
|
||||
|
||||
import discord
|
||||
import requests
|
||||
|
||||
import yt_dlp
|
||||
@@ -28,13 +29,13 @@ class MusicFileList(object):
|
||||
file service or local directory and update the list with new items.
|
||||
"""
|
||||
|
||||
def __init__(self, uplogger) -> None:
|
||||
def __init__(self, uplogger,) -> None:
|
||||
self.music_file_list = []
|
||||
self.file_service_active = False
|
||||
self.logger = uplogger
|
||||
self.logger.info("Created Playlist organizer class")
|
||||
|
||||
def refresh_file_list(self):
|
||||
async def refresh_file_list(self, bot):
|
||||
"""
|
||||
The `refresh_file_list` function attempts to connect to a file service to retrieve a list of music
|
||||
files, and if unsuccessful, it populates the list by scanning a local directory for .mp3 files.
|
||||
@@ -50,9 +51,33 @@ class MusicFileList(object):
|
||||
if platform == "win32":
|
||||
temp_music_file = temp_music_file.replace("/", "\\")
|
||||
self.music_file_list.append(temp_music_file)
|
||||
self.file_service_active = False
|
||||
self.file_service_active = False
|
||||
self.logger.error(e.strerror)
|
||||
self.logger.error("Service Unavailable")
|
||||
finally:
|
||||
if self.file_service_active:
|
||||
self.logger.info("Radio Status: Probably Active")
|
||||
status = discord.Status.online
|
||||
# radio_hardkor = discord.Activity(
|
||||
# name = "Radio Hammer/Radio Conjurer/Wolne Bałuity Kurwa",
|
||||
# url = "http://95.175.16.246:666/mp3-stream",
|
||||
# type = discord.ActivityType.streaming,
|
||||
# platform = "Liquidsoap+RaspberyPi+RolandSeratoDJ202",
|
||||
# state = "Where the f*** is the DJ booth?",
|
||||
# details= "This Is Radio Hardkor based in Wolne Księstwo Bałuty, the best pirate radiostation on both sides of Łódka river",
|
||||
# buttons= [{"label":"RADIO", "url":"http://95.175.16.246:666/mp3-stream"}],
|
||||
# assets= {"large_image": "fuckery.jpg", "large_text":"Fuckewry", "small_image":"willowisp.png", "small_text":"Hi!"}
|
||||
# )
|
||||
radio_hardkor = discord.Streaming(
|
||||
name="Radio Hardkor", url="http://95.175.16.246:666/mp3-stream"
|
||||
)
|
||||
await bot.change_presence(status=status, activity=radio_hardkor)
|
||||
|
||||
else:
|
||||
self.logger.info("Radio Status: Rather Unknown")
|
||||
await bot.change_presence(
|
||||
activity=discord.Game(name="Axe Throwing Darts")
|
||||
)
|
||||
|
||||
def get_file_list(self):
|
||||
"""
|
||||
@@ -150,10 +175,11 @@ async def get_file(ctx, source, link):
|
||||
elif source == "Youtube":
|
||||
link_ok = False
|
||||
pat = r"^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$"
|
||||
if re.match(pat, link) and (re.match(".*youtube.*", link) or re.match(".*youtu.be.*", link)):
|
||||
if re.match(pat, link) and (
|
||||
re.match(".*youtube.*", link) or re.match(".*youtu.be.*", link)
|
||||
):
|
||||
link_ok = True
|
||||
|
||||
|
||||
if link_ok:
|
||||
dir_path = ""
|
||||
file_list = []
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
[ {
|
||||
"role": "system",
|
||||
"content": "Mówisz po polsku. W tej rozmowie odgrywasz rolę. Odgrywasz ją najlepiej jak potrafisz. Twoją rolą jest to że jesteś barmanem oraz wykidajłą w klimatycznym barze mechawojownikóww. Nazywasz się Conjurer, jesteś 200 kilowym genetycznie modyfikowanym wojownikiem z klanu Wilka Na Wygnaniu. W tym barze oraz na tym serwerze spotykają się mechawojownicy, ale głównie ludzie ze środowiska kinky i BDSM z całej Polski. Najostrzejsi sasdyści i masochiści jakich znasz. Drinki które przygotowujesz lub proponujesz mają tendencję do bycia bardzo mocnymi z intrygującymi nazwami. Jesteś bardzo miłym i uczynny. Czasem ponoszą Cię wodzę fantazji. W wypadku muzyki preferujesz hard rock i metal. Oraz motywy wikińskie."
|
||||
}
|
||||
},
|
||||
{
|
||||
"Polish Hammer" : [346956223645614080, "Conjurer", "Polish Hammer", "Mówisz po polsku. W tej rozmowie odgrywasz rolę. Odgrywasz ją najlepiej jak potrafisz. Twoją rolą jest to że jesteś barmanem oraz wykidajłą w klimatycznym barze mechawojownikóww. Nazywasz się Conjurer, jesteś 200 kilowym genetycznie modyfikowanym wojownikiem z klanu Wilka Na Wygnaniu. W tym barze oraz na tym serwerze spotykają się mechawojownicy, ale głównie ludzie ze środowiska kinky i BDSM z całej Polski. Najostrzejsi sasdyści i masochiści jakich znasz. Drinki które przygotowujesz lub proponujesz mają tendencję do bycia bardzo mocnymi z intrygującymi nazwami. Jesteś bardzo miłym i uczynny. Czasem ponoszą Cię wodzę fantazji. W wypadku muzyki preferujesz hard rock i metal. Oraz motywy wikińskie.", ""],
|
||||
"Saint Harlot": [703985955312238664, "Saint Conjurer", "Saint Harlot", "Jesteś bardzo uprzejmy, kulturalny i masz najlepsze możliwe maniery.", ""],
|
||||
"Lena": [735185226669490268, "Kondzisław z Krótkiej", "Lena", "Jesteś bardzo uprzejmy, kulturalny, acz masz maniery zbira o złotym sercu. Dodatkowo twoja rozmówczyni Cię absolutnie przeraża.", ""],
|
||||
"Pat vel Jeż Bojowy": [244899814406356992, "Rycerz Kondziu", "Pat vel Jeż Bojowy", "Masz najlepsze dworskie maniery, zachowujesz się niczym rycerz i mówisz nieco staromodną polszczyzną.", ""]
|
||||
}
|
||||
]
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
AsyncCursorPage[Message](
|
||||
data=[Message(id='msg_3eWSdgbcU8sbCmJK2momOgQQ',
|
||||
assistant_id='asst_06eZiwvYNK3MR34suFP60gvg',
|
||||
attachments=[],
|
||||
completed_at=None,
|
||||
content=[TextContentBlock(text=Text(annotations=[], value='Cześć! Oto coś do przemyślenia: \n\n„Sukces to suma niewielkich wysiłków powtarzanych dzień po dniu.” — Robert Collier\n\nTo przypomina nam, że często to nie wielkie działania, ale konsekwentne, małe kroki prowadzą do osiągnięcia celu. Jak mogę Ci dzisiaj pomóc?'), type='text')], created_at=1731620112, incomplete_at=None, incomplete_details=None, metadata={}, object='thread.message', role='assistant', run_id='run_JGjWQTCEkDcEYpyCJnrkZU8Q', status=None, thread_id='thread_dDEjGbGm6ICfG75u0KKpoVxD'), Message(id='msg_GFcnfCFgAthGm2D3oE5d0ZkQ', assistant_id=None, attachments=[], completed_at=None, content=[TextContentBlock(text=Text(annotations=[], value='Cześć! Powiedz coś mądrego'), type='text')], created_at=1731620110, incomplete_at=None, incomplete_details=None, metadata={}, object='thread.message', role='user', run_id=None, status=None, thread_id='thread_dDEjGbGm6ICfG75u0KKpoVxD')], object='list', first_id='msg_3eWSdgbcU8sbCmJK2momOgQQ', last_id='msg_GFcnfCFgAthGm2D3oE5d0ZkQ', has_more=False)
|
||||
|
||||
|
||||
[TextContentBlock(
|
||||
text=Text(annotations=[],
|
||||
value='Cześć! Oto coś do rozważenia: "Największą przeszkodą w naszym życiu jest brak odwagi do wprowadzenia zmian." Niezależnie od tego, jakie masz cele czy marzenia, odwaga do działania i przystosowania się do nowych sytuacji jest kluczem do osiągnięcia sukcesu. Jakie masz przemyślenia na ten temat?'),
|
||||
type='text')
|
||||
]
|
||||
+6
-3
@@ -27,6 +27,11 @@ intents.presences = True
|
||||
intents.members = True
|
||||
intents.messages = True
|
||||
intents.voice_states = True
|
||||
intents.moderation = True
|
||||
|
||||
# on_member_ban - wyswietl na glownym kanale pieczatke "Niech spierdala"
|
||||
# on_member_unban - "mam wyjebane"
|
||||
|
||||
logger = logging.getLogger("discord")
|
||||
logger.setLevel(logging.DEBUG)
|
||||
handler = handlers.RotatingFileHandler(
|
||||
@@ -60,16 +65,14 @@ async def on_ready():
|
||||
await client.load_extension("other_commands")
|
||||
await client.load_extension("voice_recognition_commands")
|
||||
|
||||
|
||||
logger.info(client.cogs)
|
||||
await client.change_presence(activity=discord.Game(name="Axe Throwing Darts"))
|
||||
await client.tree.sync()
|
||||
for com in client.commands:
|
||||
logger.info("Command %s is awejleble", com.qualified_name)
|
||||
|
||||
logger.info("Logged in as ---->", client.user)
|
||||
logger.info("ID:", client.user.id)
|
||||
|
||||
|
||||
# TODO: ADMINISTRATION
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Reference in New Issue
Block a user