Ответы пользователя по тегу Боты
  • Как сказать чтобы если мембер имеет какую то роль, то не выдавать данную роль?

    @Chaka_1
    Python'щик
    @client.commands(aliases = ['mine','шахта'])
    # =============================================================================================
    @commands.has_any_role("Шахтёр", 'Человек') # Здесь названия ролей, которые могут пользоваться данной командой.(Через запятую и в ковычках)
    # =============================================================================================
    @cooldown(1,3600,BucketType.user)
    async def __mine(ctx):
      и тут твой код..........
    Ответ написан
  • Как мне получить список участников(member) сервера?

    @Chaka_1
    Python'щик
    Этот кусок кода работает как часы... Не понимаю, что не так.
    Скинь что выше этого кода, хотя вряд ли что-то изменится... А ошибку выдает, после того как бота вывело?
    Если такова есть, то попробуй:
    if message.content.startswith('//member'):
        for guild in client.guilds:
             try:
                 for member in guild.members:
                     print(member)
             except:
                 pass
    Ответ написан
    Комментировать
  • Как создать бота для Discord, который имеет шанс временно выдать роль?

    @Chaka_1
    Python'щик
    Ну лааадно... Вот мое решение, самое простое... Вероятность сам подкрутишь.
    import asyncio
    import random
    import discord
    from discord.ext import commands
    
    intents = discord.Intents.all()
    
    client = commands.Bot(command_prefix='!', intents=intents)
    
    w1 = [0,1,0,0,0,1] #(можешь еще добавить, сколько душе угодно(0, 2, 3, 4... - Не даст роль, 1 - даст роль))
    @client.event
    async def on_message(message):
        if message.channel != ЗДЕСЬ ID ТВОЕГО "ОПРЕДЕЛЕННОГО" КАНАЛА:
            return
        if message.author == py.user: # (проверка на сообщение от бота(игнорируем))
            return
        w2 = random.choice(w1)
        if w2 == 1:
            guild = message.guild
            channel = message.channel
            user = message.author # (чисто для удобства упрощаем вид)
            await guild.get_member(user.id).add_roles(guild.get_role(А ЗДЕСЬ ID РОЛИ))
            await channel.send('ТЫ ПОПАЛ В ПОДВАЛ, ХА-ХА-ХА')
            await asyncio.sleep(120)

    Вроде ошибок не вижу, если будут - отпишешь здесь...
    И.. Так сказать, на будущее. Твой вопрос решается 2-3 запросами в гугл.... Если горит - делай.
    Ответ написан