Реализация «Формы» как это сделать?Открыть документацию и посмотреть
Реализация в плане кода. Подойдёт простой пример создания "Формы"Ну ладно, откроем её
import asyncio
import os
import disnake
from disnake.ext import commands
bot = commands.Bot(command_prefix=commands.when_mentioned)
class MyModal(disnake.ui.Modal):
def __init__(self) -> None:
components = [
disnake.ui.TextInput(
label="Name",
placeholder="The name of the tag",
custom_id="name",
style=disnake.TextInputStyle.short,
min_length=5,
max_length=50,
),
disnake.ui.TextInput(
label="Content",
placeholder="The content of the tag",
custom_id="content",
style=disnake.TextInputStyle.paragraph,
min_length=5,
max_length=1024,
),
]
super().__init__(title="Create Tag", custom_id="create_tag", components=components)
async def callback(self, inter: disnake.ModalInteraction) -> None:
tag_name = inter.text_values["name"]
tag_content = inter.text_values["content"]
embed = disnake.Embed(title=f"Tag created: `{tag_name}`")
embed.add_field(name="Content", value=tag_content)
await inter.response.send_message(embed=embed)
async def on_error(self, error: Exception, inter: disnake.ModalInteraction) -> None:
await inter.response.send_message("Oops, something went wrong.", ephemeral=True)
@bot.slash_command()
async def create_tag(inter: disnake.CommandInteraction):
await inter.response.send_modal(modal=MyModal())
@bot.event
async def on_ready():
print(f"Logged in as {bot.user} (ID: {bot.user.id})\n------")
if __name__ == "__main__":
bot.run(os.getenv("BOT_TOKEN"))
on_raw_reaction_add
и метод await bot.wait_for()
относятся к низкоуровневым компонентам библиотеки и их использование оправдано только если нет других способов решения проблемы.while True
, а во вторых все нажатия на реакции начнут приводить к выполнению логики Почему команды бота(disnake) не обновляются?Потому что в коде есть какая-то ошибка, препятствующая обновлению. Например намудрили с декораторами.
Команда работает верно, но почему-то в боте( слэш командах ) она не показывается, уже прошел день.Слеш-команда не может верно работать, если она не показывается. Вероятно вы сделали префикс "/", что делать нельзя, поскольку с ним слеш-команды работать не будут.
Почему команды бота(discord.py) не обновляются?Во-первых для разработки объявляется тестовый сервер и обновление на нем происходит мгновенно
bot = commands.Bot("!", test_guilds=[123456789, 987654321])
У меня имеется три файлаХоть 50 файлов, глобальная область видимости одна.
нуждаюсь в этом чисто для своего развития умений программирования на pythonВ этом случае нужно вначале пояснение, что делает ваша программа и зачем в ней авторизация. Учебный проект не повод делать вредные и неправильные вещи, а почему не стоит хранить пароли в открытом виде и почему не надо использовать f-строки в sql запросах дано много других ответов, которые можно найти поиском.
что делать?