• Доступ/Запрет к команде?

    @wetwixs
    @client.command()
    @commands.has_any_role( ID, ID, ID ) # ID роли, можно хоть сколько, можно хоть один
    async def mute( ctx, member:discord.Member,time:int, * ,reason ):
    Ответ написан
    Комментировать
  • Возможно ли сделать этого бота, если да, то как?

    @wetwixs
    Только робохомячек пишется на js. Но и на python не составит труда написать данный код.

    @client.command() #
    async def report(stx):
        thhchannel = stx.message.channel 
        ttttt = client.get_channel(703596631261577262) # канал, где данная команда будет работать.
        if thhchannel == ttttt: #Если сообщение написано в данном канале, выполняется код.
            await stx.channel.purge(limit = 1)
            author = stx.message.author
            guild = stx.message.guild
            creport = discord.utils.get(stx.guild.categories, name = 'report') #название категории, где будет создаваться тема.
            await guild.create_text_channel(f'ticket {author.name}', overwrites = None, category = creport, reason = 'Создание нового тикета.')
            server = client.get_guild(703596629814673428) # ID сервера.
            for channel in server.channels:
                if channel.name == f'ticket {author.name}':
                    break
            await channel.set_permissions(author, read_messages = True, send_messages = True) #установка прав создателю репорта.
            spekmoder = discord.utils.get(stx.guild.roles, id = 738136827956953279) # Человек из модерации.
            await channel.set_permissions(spekmoder, read_messages = True, send_messages = True)
            alluser = discord.utils.get(stx.guild.roles, id = 703596629814673428) # everyone. 
            await channel.set_permissions(alluser, read_messages = False, send_messages = False)
        else: # Если команда !report не в том канале, ничего не происходит.
            channel = ctx.message.channel(703596631261577262)
            await stx.send('1')


    Команда на закрытие репорта так же не сложна. Попросту нужно у упомянутого человека поставить другие права и отправить какое либо сообщение об закрытие репорта в лс или же в сам тикет, думаю проблем не составит.

    Привет с аризоны :)
    Ответ написан
    Комментировать
  • Как сделать вывод людей с определенной ролью?

    @wetwixs Автор вопроса
    Может быть я туплю и, что-то не правильно указал, но теперь выводит просто embed без списка.

    @client.command()
    async def members_info(ctx):
        server_members = ctx.guild.members 
        data = "\n".join([member.name for member in server_members if "Главный модератор" in member.roles])
        embed = discord.Embed(title = f'Участники сервера', description = f"{data}", color = discord.Color.purple())
        
        await ctx.send(embed = embed)

    abrbxiV.png
    Ответ написан
    Комментировать
  • Ошибка при отправке сообщения в личные сообщения?

    @wetwixs Автор вопроса
    Проблема исправлена. Да, нужно было через try и except.
    Ответ написан