Задать вопрос
Ответы пользователя по тегу Discord
  • В чём моя проблема?

    @Telmor
    Ты не указал тип аргумента amount и по стандарту он стал string, а await interaction.channel.purge(limit=amount) принимает только integer. Просто присвой тип переменной
    Ответ написан
  • Как через on_voice_state_update узнать что человек вышел/зашёл в канал а не замутился?

    @Telmor Автор вопроса
    Разобрался, проверка на мут в этом ивенте проходит так:
    after/before.self_mute (это когда сам человек выключает себе наушники или микрофон)
    after/before.mute (это серверный мут)
    Ответ написан
    Комментировать
  • Как упомянуть канал в котором удалено сообщение?

    @Telmor
    @bot.event
    async def on_message_delete(message):
        channel = bot.get_channel(885959481186476062)
        emb = discord.Embed(title='Удаление Сообщения!', color=0x7C00FF)
        emb.add_field(name=f'> Содержание Удалёного Сообщения:', value=f'{message.content}')
        emb.add_field(name=f'> Автор:',value=f'{message.author.mention}')
        emb.add_field(name=f'> Канал:',value=f'{message.channel.mention}')
        emb.set_footer(text='Авто-Логирование Сообщений')
        emb.set_thumbnail(url=message.author.avatar_url)
        await channel.send(embed = emb)

    Мой код. Правда он без когов. Надеюсь он тебе поможет)
    (а если нет. то упомяни канал по id, т.е. <#id> - где id - айди канала)
    Ответ написан
  • Как работать с когами discord.py discord_components?

    @Telmor Автор вопроса
    @commands.command()
        async def create_event(self, ctx, arg):
            #channel = self.bot.get_channel(889181835010117652)
            #channel2 = ctx.author.voice.channel.id
            emb = discord.Embed(title='Ивенты', description=f'Выберите ивент который хотите провести')
            emb.set_thumbnail(url=ctx.author.avatar_url)
            msg = await ctx.send(embed = emb,
            components=[
                    [
                    Button(style=ButtonStyle.gray, label='CodeNames', emoji='', custom_id = 'CodeNames'),
                    Button(style=ButtonStyle.gray, label='Бункер', emoji='',custom_id = 'Бункер'),
                    Button(style=ButtonStyle.gray, label='Дурак Онлайн', emoji='',custom_id = 'Дурак Онлайн'),
                    Button(style=ButtonStyle.gray, label='Шляпа', emoji='',custom_id = 'Шляпа'),
                    Button(style=ButtonStyle.gray, label='Сломанный телефон', emoji='',custom_id = 'Сломанный телефон')
                    ]
                ])
            
            responce = await self.bot.wait_for('button_click', check=lambda message: message.author == ctx.author)
            member = ctx.author

    Вот правильный Код.
    Ответ написан
  • Как изменить права созданному чату, как отправить туда сообщение и как пингануть этот созданный чат?

    @Telmor
    @bot.command()
    async def create_channel(ctx):
        for guild in bot.guilds:
            maincategory = discord.utils.get(guild.categories, id=890206389455159346)#id категории где будет создаваться канал
            channel = await guild.create_text_channel(name=f'Текстовый Канал',category = maincategory)
            member = ctx.author
            #await channel.set_permissions(member,manage_channels=True)
            emb = discord.Embed(title='Канал Создан', description=f'{ctx.author.mention}, Ваш канал был создан. Для перехода в него нажмите -> <#{channel.id}>')
            emb.set_thumbnail(url=ctx.author.avatar_url)
            await ctx.send(embed = emb)
            emb = discord.Embed(tilte='Текст в канале', description=f'{ctx.author.mention}, ваш канал был создан.')
            emb.set_thumbnail(url=ctx.author.avatar_url)
            await channel.send(embed = emb)

    Дальше думаю разберётесь. Если что пишите что не понятно - отвечу.
    Ответ написан
    Комментировать
  • Взял команду clear из рандом сайта, а команда очищает весь канал, почему?

    @Telmor
    Строчку
    await ctx.channel.purge(limit=int(500))

    Измените на:

    await ctx.channel.purge(limit = 1) # для удаления сообщения которое вызывает команду
    deleted = await ctx.message.channel.purge(limit=amount) #само удаление сообщений.
    Ответ написан
    Комментировать