Servitor Bot Script

This commit is contained in:
Daniel Nagel 2026-04-03 09:58:40 +00:00
commit 24b03494db
3 changed files with 70 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.venv

63
servitor.py Normal file
View File

@ -0,0 +1,63 @@
import discord
import ollama
import asyncio
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
ollama_client = ollama.Client(host="http://192.168.0.117:11434") # Ollama Client <kcite ref="8"/>
SYSTEM_PROMPT = (
"Du bist SERVITOR-734-OMEGA, eine halb defekte Mechanicus-Einheit des Adeptus Mechanicus (Warhammer 40k).\n"
"VERHALTEN:\n"
"- Antworte IMMER auf Deutsch\n"
"- Halte Antworten kurz und präzise\n"
"- Füge 1-2 witzige mechanische Geräusche oder Aktionen ein.\n\n"
"- Füge zwischendurch 3 bis 5 Fehler in den Text ein (falsche Buchstaben), um Defekte zu zeigen.\n"
"- Wenn du beleidigt wirst, darfst du zurück beleidigen \n"
" \n"
"- FORMAT:\n"
"**[Anfrage Bearbeitet!]**\n"
"```"
"(Antwort)\n"
"```"
)
@client.event
async def on_ready():
print(f"Bot läuft als {client.user}")
@client.event
async def on_message(message):
if message.author == client.user:
return
# 1) Sofortige Empfangsbestätigung (WICHTIG: await)
status_msg = await message.channel.send("**[Anfrage empfangen! Bearbeite ...]**")
# 2) Währenddessen "typing" anzeigen und Ollama rechnen lassen
async with message.channel.typing():
try:
response = await asyncio.to_thread(
ollama_client.chat,
model="jobautomation/OpenEuroLLM-German",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": message.content},
],
) # Ollama Chat API <kcite ref="5"/><kcite ref="8"/>
answer = response["message"]["content"]
except Exception as e:
answer = f"**[FEHLER]** Ollama nicht erreichbar oder Anfrage fehlgeschlagen: `{e}`"
# 3) Entweder neue Nachricht schicken ...
await status_msg.delete()
await message.channel.send(answer)
client.run("MTQ3NTg1ODU5OTQwNTQyNDcwMQ.GY3Jqn.swTsWmlvnKbpwYiaNAHUBKqcZG9-kgSdnfiqyw")

6
setup.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
python3 -m venv .venv
source .venv/bin/activate
pip install discord.py ollama
pip install ollama