Ответы пользователя по тегу Discord
  • Какой ЯП выбрать для написания бота?

    LIREN
    @LIREN
    Пунктумофоб
    python и библиотека py-cord. Идеально.
    Ответ написан
    Комментировать
  • Почему бот подключается, но не распознает команды?

    LIREN
    @LIREN
    Пунктумофоб
    для создания команд лучше использовать @bot.command() ...
    + commands.Bot, а не discord.Client.

    from discord.ext import commands
    
    intents = discord.Intents.all()
    
    command_prefix = "!"
    bot = commands.Bot(
        command_prefix = command_prefix, 
        intents = intents, 
        help_command = None
    )
    
    COMMANDS = [
        "refresh"
    ]
    
    @bot.event
    async def on_message(message):
        if (message.author == bot.user):
            return
    
        elif (message.content.startswith(command_prefix)):
            if (message.content in command_prefix + COMMANDS):
                pass
            else:
                response = get_city(message.content)
                await message.channel.send(response)
    
    @bot.command()
    async def refresh(ctx):
        refresh()
    
    bot.run(TOKEN)
    Ответ написан
    Комментировать
  • Как сделать форму с вопросами в дискорд?

    LIREN
    @LIREN
    Пунктумофоб
    библиотека pycord:
    MODAL DOCS
    MODAL VIDEO

    import discord
    from discord.ext import commands
    
    bot = commands.Bot(intents = discord.Intents.all)
    
    class MyModal(discord.ui.Modal):
        def __init__(self, *args, **kwargs) -> None:
            super().__init__(*args, **kwargs)
    
            self.add_item(discord.ui.InputText(label = "Short Input"))
            self.add_item(discord.ui.InputText(
            	label = "Long Input", 
            	style = discord.InputTextStyle.long)
            )
    
        async def callback(self, interaction: discord.Interaction):
            embed = discord.Embed(title="Modal Results")
            embed.add_field(name = "Short Input", value = self.children[0].value)
            embed.add_field(name = "Long Input", value = self.children[1].value)
            await interaction.response.send_message(embeds=[embed])
    
    @bot.slash_command()
    async def modal_slash(ctx):
        modal = MyModal(
        	title = "Modal"
        )
        await ctx.send_modal(modal)
    
    bot.run(TOKEN)


    Написал в блокноте, так что ошибок не знаю. Можете посмотреть в документации или в видео. :)

    MODAL DOCS
    MODAL VIDEO
    Ответ написан
    Комментировать
  • Как получить имена пользователей в группе discord?

    LIREN
    @LIREN
    Пунктумофоб
    @bot.command()
    async def get_name(ctx, member: discord.Member = None):
    	if member is None:
    		member = ctx.author
    
    	await ctx.reply(
    		f"Ник без ID: {member.name},\nНик как на сервере, где была использована команда: {member.guild.name},\nПолный ник (с ID): {member}."
    	)


    Надеюсь я понял ваш недо- вопрос.
    Ответ написан
    Комментировать