AI Discord Server?

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.

Woher ich das weiß:Hobby
popcornmitkaese 
Fragesteller
 15.04.2024, 18:04

wie programmiere ich so einen bot?😅 also mit welcher programmiersprache...?

0
Suiram1  15.04.2024, 18:07
@popcornmitkaese

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.

1
popcornmitkaese 
Fragesteller
 16.04.2024, 15:36
@Suiram1

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'}]}'
0
Suiram1  16.04.2024, 15:47
@popcornmitkaese

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.

1