diff options
| author | salmonik <raisersoft@proton.me> | 2026-01-05 11:12:52 +0200 |
|---|---|---|
| committer | salmonik <raisersoft@proton.me> | 2026-01-05 11:12:52 +0200 |
| commit | 15ca2786cc0fa2240bbe57fb639fdac70f78678e (patch) | |
| tree | 9c2cae953d50fb5bd581ce9086909a9d7d480d74 /cogs | |
| parent | live search with good algorithm (diff) | |
| download | senator-sperma-15ca2786cc0fa2240bbe57fb639fdac70f78678e.tar.gz senator-sperma-15ca2786cc0fa2240bbe57fb639fdac70f78678e.zip | |
better ai
Diffstat (limited to 'cogs')
| -rw-r--r-- | cogs/ai.py | 22 |
1 files changed, 19 insertions, 3 deletions
| @@ -5,7 +5,9 @@ from discord.ext import commands | |||
| 5 | import logging | 5 | import logging |
| 6 | import requests | 6 | import requests |
| 7 | import json | 7 | import json |
| 8 | 8 | from gtts import gTTS | |
| 9 | from .music.play_utils import PlayUtils | ||
| 10 | import io | ||
| 9 | logger = logging.getLogger(__name__) | 11 | logger = logging.getLogger(__name__) |
| 10 | 12 | ||
| 11 | 13 | ||
| @@ -20,7 +22,8 @@ class AI(commands.Cog): | |||
| 20 | async def senator( | 22 | async def senator( |
| 21 | self, | 23 | self, |
| 22 | ctx: discord.ApplicationContext, | 24 | ctx: discord.ApplicationContext, |
| 23 | text=discord.Option(str, "message", required=True) | 25 | text=discord.Option(str, "message", required=True), |
| 26 | tts=discord.Option(bool, "face?", default=False) | ||
| 24 | ): | 27 | ): |
| 25 | await ctx.defer() | 28 | await ctx.defer() |
| 26 | 29 | ||
| @@ -42,7 +45,20 @@ class AI(commands.Cog): | |||
| 42 | }) | 45 | }) |
| 43 | ) | 46 | ) |
| 44 | logger.info(response.json()) | 47 | logger.info(response.json()) |
| 45 | await ctx.send_followup(response.json()["choices"][0]["message"]["content"]) | 48 | if not response.json()["choices"]: |
| 49 | await ctx.send_followup("bot siem zesroĊ") | ||
| 50 | else: | ||
| 51 | response_text = response.json()["choices"][0]["message"]["content"] | ||
| 52 | if tts: | ||
| 53 | # Generate TTS | ||
| 54 | tts_obj = gTTS(text=response_text, lang='pl') | ||
| 55 | tts_buffer = io.BytesIO() | ||
| 56 | tts_obj.write_to_fp(tts_buffer) | ||
| 57 | tts_buffer.seek(0) | ||
| 58 | await PlayUtils.play(ctx, discord.FFmpegPCMAudio(tts_buffer), delete_after_play=True) | ||
| 59 | |||
| 60 | else: | ||
| 61 | await ctx.send_followup(response_text) | ||
| 46 | 62 | ||
| 47 | 63 | ||
| 48 | 64 | ||
