AI Discord Server?
Wie kann man einen AI Discord Server machen? Also, dass man Prompts eingeben kann, und dann generiert eine KI Bilder, die dann rein geschickt werden. Sowas wie Midjourney.
Ich hab eine KI und auf der Website steht, dass sie Local UI und API hat (hab da nicht viel Ahnung von, würde sowas aber gern machen/probieren)...
2 Antworten
Dafür brauchst du dann einen Bot den du mit deinem Server verbindest. Bei dem jeweiligen Bot sollte dann stehen wie dieser einzurichten geht und ob man dafür dann noch irgend ein Abo benötigt.
Das die Website eine API (Application Programmer Interface) hat bedeutet das du mit einem Programm Anfragen an diese senden kannst und der Server das Ergebnis dem Programm übergibt.
Umsetzen könntest du das indem du einem Bot Programmierst der dann auf einen bestimmten Befehl reagiert und z.B einen übergebenen Text an die API sendet und das Ergebnis und den Kanal Hochlädt.
Die Sprache ist da ziemlich egal, für alle möglichen Sprachen gibt es da Wege. Als Anfänger wäre da JavaScript oder Python am besten geeignet. Hier ist mal ein Tutorial für den Anfang mit Python. Damit kannst du zwar ein Bot machen, allerdings wirst du es wahrscheinlich noch nicht hinkriegen, dass das mit der API geht.
Ich habs hinbekommen den Bot in Discord zu kriegen und einen Code zu schreiben. Ich kann zwar dann in Discord die Prompts eingeben, aber dann bekomm ich immer wieder die gleiche Fehlermeldung.
Code:
import discord
from gradio_client import Client
TOKEN = 'MeinToken'
FOOOCUS_API_URL = 'http://127.0.0.1:7865/'
fooocus_client = Client(FOOOCUS_API_URL)
intents = discord.Intents.default()
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f'{client.user} ist eingeloggt!')
@client.event
async def on_message(message):
if message.channel.name == 'prompt-kanal' and message.author != client.user:
result = fooocus_client.predict(message.content, fn_index=2)
await message.channel.send(file=discord.File(result))
client.run(TOKEN)
Fehlermeldung:
2024-04-16 15:35:07 ERROR discord.client Ignoring exception in on_message
Traceback (most recent call last):
File "C:...\venv\Lib\site-packages\gradio_client\compatibility.py", line 105, in _predict
output = result["data"]
~~~~~~^^^^^^^^
KeyError: 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:...\venv\Lib\site-packages\discord\client.py", line 441, in _run_event
await coro(*args, **kwargs)
File "c:...\bot.py", line 19, in on_message
result = fooocus_client.predict(message.content, fn_index=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:...\venv\Lib\site-packages\gradio_client\client.py", line 459, in predict
).result()
^^^^^^^^
File "C:...\venv\Lib\site-packages\gradio_client\client.py", line 1374, in result
return super().result(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users..._base.py", line 456, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Users..._base.py", line 401, in __get_result
raise self._exception
File "C:\Users...\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:...\compatibility.py", line 65, in _inner
predictions = _predict(*data)
^^^^^^^^^^^^^^^
File "C:...\compatibility.py", line 119, in _predict
raise KeyError(
KeyError: 'Could not find 'data' key in response. Response received: {'detail': [{'type': 'model_attributes_type', 'loc': ['body'], 'msg': 'Input should be a valid dictionary or object to extract fields from', 'input': '{"data": [""], "fn_index": 2, "session_hash": "d7f62bf0-174c-45fe-b3f6-c5e7f00848d3"}', 'url': 'https://errors.pydantic.dev/2.1/v/model_attributes_type'}]}'
Ich kenn mich nicht mit der der Discord Lib für Python aus. Ist wahrscheinlich besser wenn du für dieses Problem eine neue Frage erstellst. Dann können diejenigen die sich auch gut damit auskennen dir helfen.
wie programmiere ich so einen bot?😅 also mit welcher programmiersprache...?