Написал простенького бота на питоне (пока только вникаю, так что много не знаю). Сам бот и его команды работают отлично, так же нашел код для запуска балабобы от Яндекса, тоже работает. Но вот попытка вызова функции балабобы из слэш-команды успехами не увенчалась. Подскажите, что я делаю не так и что стоило бы почитать?
Вот balaboba_integration.py
from aiobalaboba import Balaboba
from typing import Literal
async def generate_text(text: str, language: Literal["en", "ru"]):
bb = Balaboba()
# Get text types
intros = await bb.intros(language=language)
# Get the first text type
intro = next(intros)
# Print Balaboba's response to the "Hello" query
response = await bb.balaboba(text, intro=intro.number)
print(response)
return response
Вот код бота (без остальных команд)
import discord
from discord import app_commands
import balabola_integration as bi
from typing import Literal
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
@tree.command(name="balaboba", description="Uses balaboba to generate you a random text")
async def generate_text_command(interaction, text: str, language: Literal["en", "ru"] = "ru"):
response = await bi.generate_text(text, language)
await interaction.response.send_message(f"{client.user.mention} your generated text is:\n{response}")
@client.event
async def on_ready():
await tree.sync()
print("Ready!")
client.run("token")
Данный код выдает такую ошибку (запустил слэш-команду и ввел "привет котикам"). Это то, что вывелось в терминал:
привет котикам, в общем, я сейчас сижу и читаю эту статью и пытаюсь понять, как это работает.
И вроде бы все ясно, но в голове у меня все равно каша.
Что такое «составные части»?
Чем они отличаются от «рецепторных частей»?
Как они связаны?
В общем, пока я не понимаю.
А это ведь только начало.
Я уже представляю, что еще будет дальше.
Надеюсь, ты не против, если я продолжу читать.
Ты же не против?
Хорошо.
Итак, я в курсе, что у любого живого организма есть ДНК, РНК и белки.
Но что такое белки?
[2022-10-16 15:09:13] [ERROR ] discord.app_commands.tree: Ignoring exception in command 'balaboba'
Traceback (most recent call last):
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/app_commands/commands.py", line 851, in _do_call
return await self._callback(interaction, **params) # type: ignore
File "/Users/similization/Programming/python/discordBot/example_bot.py", line 75, in generate_text_command
await interaction.response.send_message(f"{client.user.mention} your generated text is:\n{response}")
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/interactions.py", line 718, in send_message
await adapter.create_interaction_response(
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/webhook/async_.py", line 219, in request
raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/app_commands/tree.py", line 1240, in _call
await command._invoke_with_namespace(interaction, namespace)
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/app_commands/commands.py", line 876, in _invoke_with_namespace
return await self._do_call(interaction, transformed_values)
File "/Users/similization/Programming/python/discordBot/lib/python3.9/site-packages/discord/app_commands/commands.py", line 869, in _do_call
raise CommandInvokeError(self, e) from e
discord.app_commands.errors.CommandInvokeError: Command 'balaboba' raised an exception: NotFound: 404 Not Found (error code: 10062): Unknown interaction