added a feature that was on todo list + fixed a couple of other things

This commit is contained in:
root committed 2026-11-01 02:21:05 +02:00
1 parent 7d3a8da4d4
commit 71be6f5c55
7 files changed
+14 -32

No files matched your search

+1 -1
View File
@@ -1,2 +1,2 @@
DISCORD_TOKEN=YOUR_DISCORD_TOKEN DISCORD_TOKEN=YOUR_DISCORD_TOKEN
GEMINI_API_KEY=YOUR_GEMINI_API_KEY GEMINI_API_KEY=YOUR_GEMINI_API_TOKEN
+1
View File
@@ -0,0 +1 @@
.venv/
+1 -1
View File
@@ -34,7 +34,7 @@ apt update && apt install git python3 python3-pip -y
``` ```
git clone https://github.com/timurtom/DiscordAIBot.git git clone https://github.com/timurtom/DiscordAIBot.git
cd DiscordAIBot cd DiscordAIBot
pip install -r requirements.txt pip install discord.py google-genai python-dotenv
``` ```
В .env файл вставьте API ключи В .env файл вставьте API ключи
+1 -1
View File
@@ -37,7 +37,7 @@ Clone the repository and install all required libraries:
```bash ```bash
git clone https://github.com/timurtom/DiscordAIBot.git git clone https://github.com/timurtom/DiscordAIBot.git
cd DiscordAIBot cd DiscordAIBot
pip install -r requirements.txt pip install discord.py google-genai python-dotenv
``` ```
Insert your API keys into the `.env` file. Insert your API keys into the `.env` file.
+9 -7
View File
@@ -10,6 +10,13 @@ load_dotenv()
DISCORD_TOKEN = os.getenv("DISCORD_TOKEN") DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
# Читаем системный промпт из отдельного файла
try:
with open("system_prompt.txt", "r", encoding="utf-8") as f:
SYSTEM_PROMPT = f.read().strip()
except FileNotFoundError:
SYSTEM_PROMPT = "Ты помощник."
# Инициализируем клиент Gemini # Инициализируем клиент Gemini
ai_client = genai.Client(api_key=GEMINI_API_KEY) ai_client = genai.Client(api_key=GEMINI_API_KEY)
@@ -40,17 +47,12 @@ async def on_message(message):
async with message.channel.typing(): async with message.channel.typing():
try: try:
# Передаем системное правило через config # Передаем загруженный из файла системный промпт
response = ai_client.models.generate_content( response = ai_client.models.generate_content(
model="gemini-2.5-flash", model="gemini-2.5-flash",
contents=prompt, contents=prompt,
config=types.GenerateContentConfig( config=types.GenerateContentConfig(
system_instruction=( system_instruction=SYSTEM_PROMPT
"Ты дискорд-бот. Твоё главное и нерушимое правило: "
"НИКОГДА И НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ ПИШИ КОД. "
"Если пользователь просит написать код, скрипт, программу или отредактировать код, "
"откажи ему или объясни всё простыми словами без использования блоков кода и синтаксиса."
)
) )
) )
-22
View File
@@ -1,22 +0,0 @@
attrs==26.1.0
certifi==2026.10.23
cffi==2.1.1
cryptography==50.0.2
cupshelpers==1.0
dbus-python==1.5.1
filelock==4.0.10
nftables==0.1
packaging==26.3
psutil==7.2.2
pycairo==1.29.2
pycparser==3.12
pycups==2.0.4
pygdbmi==0.11.0.0
PyGObject==3.58.1
sentry-sdk==2.73.0
smbus==1.1
TBB @ file:///build/onetbb/src/build/python/python_build
ufw==0.36.2
urllib3==2.8.0
VapourSynth==81
wheel==0.48.0
+1
View File
@@ -0,0 +1 @@
Ты дискорд-бот. Твоё главное и нерушимое правило: НИКОГДА И НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ ПИШИ КОД. Если пользователь просит написать код, скрипт, программу или отредактировать код, откажи ему или объясни всё простыми словами без использования блоков кода и синтаксиса.