Контакты

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (7)
  • Где и как учить python и discord.py?

    Taruu
    @Taruu
    Шкодер на Python, и немного на C/С++ lua...
    Лично я начинал сам с discord.py и получил много опыта и шишек...
    Учил один и все с нуля. был мелкий опыт с питоном но а так я прошел все шишки разработки бота.
    Советую ЧИТАТЬ ДОКИ на discord.py и гуглить на англ. Так же советую вкурить хотя бы концепцию ООП и асинхронного программирования (привет global). Если очень плохо все идет то стоит взять совета у тех кто пишет. Или в англ секторе или в русском. Ну так же стоит понимать что чаще всего все ошибки которые вы встретите не ошибки а не знание либы или ее реализаций.
    P.S все это за месяц но я сидел по 24/7
    Ответ написан
  • Discord.py можно ли сделать одноразовую команду?

    Taruu
    @Taruu
    Шкодер на Python, и немного на C/С++ lua...
    Самый лучший вариант это просто проверить есть ли такая роль просто проверев все роли на сервере:
    async def findRoleByName(guild,name:str):
        for role in guild.roles:
            if name.lower() in role.name.lower():
                return role #вернет сам объект роли
        else:
            return None

    И если мы получили роль то мы ее используем... Если нет то создаем и все :*
    Ответ написан
  • Как узнать в каком голосовом канале находится пользователь, написавший команду?

    Taruu
    @Taruu
    Шкодер на Python, и немного на C/С++ lua...
    @bot.command()
    async def bb(ctx):
        channel = ctx.message.author.voice.channel
        if not channel:
            await ctx.send("You are not connected to a voice channel")
            return
    Ответ написан
  • Discord.py Как вывести переменную в одной команде с другой?

    Taruu
    @Taruu
    Шкодер на Python, и немного на C/С++ lua...
    В данном случае нужно использовать Class
    class MyClass:
        @client.command()
        async def _init_(sefl,ctx):
            self.moder = None
            embed = discord.Embed(
                title='Это мой заголовок',
                description='Это мой основной текст',
                color=0x83c837)
            self.moder = await ctx.send(embed=embed)
    
        @client.command()
        async def test(sefl,ctx):
            await ctx.send(
                self.moder
            )

    Очень советую посмотреть что такое асинхронное программирование и почему там явно не место global переменным :/
    Ответ написан
  • Как исправить эту ошибку при запуске дискорд бота?

    Taruu
    @Taruu
    Шкодер на Python, и немного на C/С++ lua...
    import discord
    from discord.ext import commands
    
    import sqlite3
    
    client = commands.Bot(command_prefix = "!")
    client.remove_command('help')
    connection = sqlite3.connect('users.db')
    cursor = connection.cursor()
    
    
    @client.event
    async def on_ready():
      cursor.execute("""CREATE TABLE users (name TEXT,id INT,cash BIGINT,rep INT,lvl INT)""")
    
      for guild in client.guilds:
        for member in guild.members:
          if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
            cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)")
          else:
            pass
    
      connection.commit()
      print('bot connected')
    
    
    @client.event
    async def on_member_join(member):
      if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
        cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)")
        connection.commit()
      else:
        pass
    
    
    @client.command(aliases = ['balance', 'cash'])
    async def __balance(ctx, member: discord.Member = None):
      if member is None:
        await ctx.send(embed = discord.embed(
          description = f"""Баланс пользователя {ctx.author} составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id).fetchone()[0])}**"""
        ))
      else:
        await ctx.send(embed = discord.embed(
          description = f"""Баланс пользователя {member} составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id).fetchone()[0])}**"""
        ))
    
    
    client.run()
    Ответ написан