Ответы пользователя по тегу Python
  • Не проигрывается музыка discord.py и youtube_dl? Что не так?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    попробуй мой код, может быть сработает:
    @bot.command()
    	async def play(self, ctx, url: str):
    		song_there = os.path.isfile('song.mp3')
    		try:
    			if song_there:
    				os.remove('song.mp3')
    				print('[Voice] Удаляю старый файл...')
    		except PermissionError:
    			print('[Voice] Не удалось удалить старый файл')
    
    		await ctx.send('Пожалуйста, ожидайте...')
    
    		voice = discord.utils.get(self.client.voice_clients, guild = ctx.guild)
    
    
    		with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    			print('[Voice] Загружаю музыку...')
    			ydl.download([url])
    
    		for file in os.listdir('./'):
    			if file.endswith('.mp3'):
    				name = file
    				print(f'[Voice] Переименовываю файл: {name}')
    				os.rename(file, 'song.mp3')
    
    		voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[Voice] {name} закончила свое проигрывание'))
    		voice.source = discord.PCMVolumeTransformer(voice.source)
    		voice.source.volume = 0.07
    
    		await ctx.send(f'Сейчас играет: {url}')

    и кстати, если вы пишите не в блокноте, то выделите весь мой код кроме @bot.command() и нажмите Shift + Tab
    Ответ написан
    1 комментарий
  • При попытке выполнить команду ( py -3 main.py ) пишет "py" не является внутренней или внешней командой, исполняемой программой или пакетным файлом?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    python3 main.py
    Ответ написан
    Комментировать
  • Python - бот для телеграмм с погодой?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    исправлю ваш код.
    import telebot
    from pyowm import OWM
    from pyowm.utils import config
    from pyowm.utils import timestamps
    from pyowm.utils.config import get_default_config
    
    config_dict = get_default_config()
    config_dict['language'] = 'ru' 
    
    owm = OWM('your free OWM API key', config_dict)
    mgr = owm.weather_manager() 
    bot = telebot.TeleBot("TOKEN" )
    
    @bot.message_handler(commands=['start'])
    def city(message):
        msg = bot.send_message(message.chat.id, "Пожалуйста, укажите ваш город."
        bot.register_next_step_handler(send_echo, msg)
    
    def send_echo(message):
      observation = mgr.weather_at_place(message.text)
      w = observation.weather
      temp = w.temperature('celsius')["temp"]
      tempMin = w.temperature('celsius')["temp_min"]
      tempMax = w.temperature('celsius')["temp_max"]
      WindSpeed = w.wind()["speed"]
    
      answer = "В городе " + message.text + " сейчас " + w.detailed_status 
      answer += "\nТемпература на улице, примерно " + str(temp) + " градусов."
      answer += "\nМаксимальная температура " + str(tempMax) + " градусов." 
      answer += "\nМинимальная температура " + str(tempMin) + " градусов."
      answer += "\nСкорость ветра " + str(WindSpeed) + " метров в секунду.\n\n"
    
    
      if temp < 5:
        answer += "Сейчас довольно холодно, не забудь одеть шапку!"
      elif temp < 20:
        answer += "На улице прохладно, одевайся теплее."
      else:
        answer += "Температура комфортная для прогулки!"
    
    bot.polling()
    Ответ написан
  • Как поставить разные картинки в emb.set_image что бы бот кидал рандомные?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    сразу видно, у фсоки списал
    @client.command()
    @commands.has_permissions( administrator = True )
    async def bong( ctx ):
        images = ['ссылка1', 'ссылка2', 'ссылка3'] # можно хоть бесконечно
        emb = discord.Embed(description = f"{ctx.author.mention} **Жестко затянулся     бонгом**")
        url = random.choice(images)
        emb.set_image(url)
        await ctx.send(emb)


    P.S. можно не писать pass_context = True в начале (да и не надо)
    а также можно вместо await ctx.send(embed=emb) можно await ctx.send(emb)
    Ответ написан
    Комментировать
  • Как получить id нового участника сервера discord?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    @client.event
    async def on_member_join(self, member):
        id = member.id
        # код...

    обязательно надо чтобы бот был включен
    Ответ написан
    7 комментариев
  • Проблема SQLITE3 и Discord Python. Как решить?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    Попробуйте создать отдельную переменную apples.
    @bot.command()
    async def яблоки(ctx, *, member: discord.Member):
        cash = cursor.execute(f"SELECT cash FROM users WHERE id = {member.id}").fetchone()[0]
        print(cash)
        apples = cursor.execute(f"SELECT cash FROM users WHERE id = {member.id}").fetchone()[0]
        connection.commit()
        await ctx.send(embed = discord.Embed(
                    description = f"""Баланс пользователя **{member.mention}** составляет **{apples}** """,
                    timestamp = ctx.message.created_at,
                    color = discord.Colour.from_rgb(255, 69, 0)
                ))


    P.S. Извините, на что вам переменная cash? вместо писанины в ctx.send используйте cash.
    Ответ написан
    Комментировать
  • AttributeError: module 'telebot.types' has no attribute 'ReplyKeyboardRemove'?

    JiMoon
    @JiMoon Автор вопроса
    меня тут ненавидят, потому что я говнокодер.
    ВОПРОС ЗАКРЫТ! Решение: попробуйте продебажить, менять местами коды, часть в другой хендлер, часть в этом же хендлере. (ну или запускайте через другое средство)
    Ответ написан
    Комментировать
  • Не работает код, ошибок нет, что делать?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    извиняюсь, но вы слепой?
    await ctx.send("hello)
    вам что лень скобку дописать?
    Ответ написан
    Комментировать
  • Как создать сервер через discord.py?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    https://discordpy.readthedocs.io/en/stable/api.htm...
    ищите внимательно, каждый мелкий вопрос который возникнет либо решите сами, либо в комментарии под ответом
    Ответ написан
    Комментировать
  • Можно забанить участника, если он не присутствует на сервере, discord.py?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    перевожу ошибку:
    Участник "898811322861506560" не найден
    Тоесть, нет участника - нет блокировки
    Ответ написан
  • Как исправить ошибку воспроизведения музыки для Discord бота?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    документацию читали? нет такой функции у VoiceChannel
    я хочу вам предложить свой код, который у меня
    попробуйте, может быть сработает
    @client.command()
    	async def play(self, ctx, url: str):
    		song_there = os.path.isfile('song.mp3')
    		try:
    			if song_there:
    				os.remove('song.mp3')
    				print('[Voice] Удаляю старый файл...')
    		except PermissionError:
    			print('[Voice] Не удалось удалить старый файл')
    
    		await ctx.send('Пожалуйста, ожидайте...')
    
    		voice = discord.utils.get(self.client.voice_clients, guild = ctx.guild)
    
    
    		with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    			print('[Voice] Загружаю музыку...')
    			ydl.download([url])
    
    		for file in os.listdir('./'):
    			if file.endswith('.mp3'):
    				name = file
    				print(f'[Voice] Переименовываю файл: {name}')
    				os.rename(file, 'song.mp3')
    
    		voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[Voice] {name} закончила свое проигрывание'))
    		voice.source = discord.PCMVolumeTransformer(voice.source)
    		voice.source.volume = 0.07
    
    		await ctx.send(f'Сейчас играет: {url}')
    Ответ написан
    Комментировать
  • Discord.py как получить название всех комманд?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    в комментариях я увидел нечто спорное, но попробуйте использовать стандартную команду help от дискорда. минусы в ней есть, не спорю, но это версия для тех, кто чуть-чуть не дочитал документацию (не про вас)
    Ответ написан
    Комментировать
  • Discord Bot Python Как вывести список участников по ролям?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    import discord
    from discord.ext.commands import Bot
    from discord.ext import commands
    from discord import utils
    
    bot = commands.Bot(command_prefix='!', intents=discord.Intents.all())
    
    @bot.event
    async def on_ready():
        print('Бот готов')
    
    @bot.command()
    async def list(ctx):
        await ctx.message.delete() #удалят сообщение с командой
        emb = discord.Embed(title = 'Список', colour=discord.Color.red())
        emb.set_author(name = self.client.user.name, icon_url = self.client.user.avatar_url)
        emb.set_footer(text = author.name, icon_url = author.avatar_url)
        adminID = 918202389226463282
        admin = utils.get(ctx.guild.roles, id = adminID)
        embed.add_field(name="Администраторы")
        for member in role.members:
          embed.add_field(value=f'{member.mention}')
        moderID = 918202389197119566
        moder = utils.get(ctx.guild.roles, id = moderID)
        embed.add_field(name="Модераторы")
        for member in role.members:
          embed.add_field(value=f'{member.mention}')  
          await ctx.send( embed = embed )
    Ответ написан
  • Как сделать открытие файла дискорд ботом?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    если КОНКРЕТНО на твоем пк, то в помощь либо os либо socket (чтобы подключиться к компьютеру, но скорее всего изменять что то не получится)
    Ответ написан
    Комментировать
  • Почему в одном проекте импорты работают, а в другом нет?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    у меня есть догадки:
    1. у вас разные директории (попробуйте в каждой директории прописать pip install
    2. в проектах разные версии python (к примеру, в первом проекте 2.9 какая-нибудь, а во втором супер версия 3.9)

    UPD: я внимательно осмотрел скрин, у вас разные директории, и в директории rolefr-accounts скорее всего не загружен модуль flask. везде напишите & pip3 install ./requirements.txt (или & pip3 install flask, это для python 3.x). естественно, чтобы файл requirements.tx был в ваших директориях, если вы конкретно его загружаете
    Ответ написан
  • Как авторизоваться на сайте кинозала используя питон?

    JiMoon
    @JiMoon
    меня тут ненавидят, потому что я говнокодер.
    если вы собираетесь использовать программу в личных целях (только вы), то можно не чудить и с помощью pyautogui это сделать, но от какой то части это не удобно, понимаю.

    UPD: у вас ошибка в консоли или не туда вводится? я просто зашел на сайт, там три поля, а не 2 (как надо для логина и пароля (1 поле - поиск если что))
    Ответ написан