• Как в Discord.py сделать создание приваток на 2 серверах?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    В вашем коде указана такие строки как:
    for guild in Bot.guilds:
        maincategory = discord.utils.get(guild.categories, id=848659633664032829)


    Стоит учесть, что название категорий у каждого сервера разные.
    Вот, по идеи данный код должен работать (Если не работает, напишите в коментариях, проверю уже полностью что да как):
    @Bot.event
    async def on_voice_state_update(member, before, after):
        if after.channel != None:
            if after.channel.id == 843730990408007698:
                category = after.channel.category
                
                channel2 = await member.guild.create_voice_channel(
                    name     = f' || { member.display_name }', 
                    category = category
                )
                
                await channel2.set_permissions(member, connect = True)
                await member.move_to(channel2)
    
                def check(x, y, z): return len(channel2.members) == 0
                
                await Bot.wait_for('voice_state_update', check = check)
                await channel2.delete()
    Ответ написан
  • Почему возникает ошибка в при запуске файла питон?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    1. Возможно дело в кодировке (Должна стоять utf-8)
    2. Возможно где-то используется символ /

    Но без кода сказать что-либо сложно
    Ответ написан
    1 комментарий
  • Как реализовать голод в телеграм боте python (telebot, sqlite3, time)?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    Вы используете асинхронную функцию, вне асинхронной функции.
    Либо используйте aiogram (Как знаю асинхронная библиотека для telegram)
    Либо уберите async и await asyncio.sleep(5) замените на time.sleep(5)

    def minus_heal(message):
        while True:
            time.sleep(5)
            ...


    Также если вы хотите использовать это не для одного человека - советую почитать про библиотеку threading
    Ответ написан
    Комментировать
  • Как сделать что бы при вводе команды бот выдавал роль?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    1. При написании была допущена ошибка в слове discord (Лишняя s сзади)
    2. Для использования discord.utils - его надо импортировать отдельно
    3. (Это конечно ваше дело) Меня напрягают как у вас прописаны интесты, вы сначала их задаете на сообщения и сервера, потом устанавливаете дефолтные с пользователями (Проще тогда уже использовать discord.Intents.all())

    import discord
    import discord.utils
    
    from discord.ext import commands
    
    intents = discord.Intents(messages=True, guilds=True)
    intents = discord.Intents.default()
    intents.members = True
    
    client = commands.Bot(command_prefix='!', intents=intents)
    
    @client.event
    async def on_ready():
        await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="#Общение"))
        print("Bot is ready!")
    
    @client.command()
    async def admin(ctx):
      member = ctx.author
      role   = discord.utils.get(member.guild.roles, id = 852691194433503232)
      
      await member.add_roles(role)
    Ответ написан
    Комментировать
  • Как проверить, загружен ли cog через extension?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    В данном случае можно использовать try except для проверки ошибок

    try:
        bot.unload_extension(f"cogs.{extension}")
        bot.load_extension(f"cogs.{extension}")
        print("File " + str(extension) + " reload")
    except Exception as e:
        exc = '{}: {}'.format(type(e).__name__, e)
        print(exc)
    Ответ написан
    Комментировать
  • Как указать переменную вне Асинхронного кода в этот самый код?

    Allan-BlackWell
    @Allan-BlackWell
    Ничтожество :D
    1. Необязательно использовать on_message 2 раза, вам только выдаст ошибку.
    2. Можно использовать переменную global для полного доступа к переменной из кода

    import discord
    
    client = discord.Client()
    Matrix = "▢"
    
    @client.event
    async def on_ready():
        print('We have logged in as {0.user}'.format(client))
    
    @client.event
    async def on_message(message):
        global Matrix
    
        if message.content.startswith("#on"):
            Matrixsend = Matrix.replace(Matrix[0], "▣")
            Matrix     = Matrixsend
        
            await message.channel.send(''+str(Matrix))
      
        if message.content.startswith("#off"):
            Matrixsend = Matrix.replace(Matrix[0], "▢")
            Matrix     = Matrixsend
        
            await message.channel.send(''+str(Matrix))
    
    client.run("Тут могла быть ваша реклама")
    Ответ написан
    Комментировать