Местоположение
Украина

Достижения

Все достижения (2)

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

Все теги (29)

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

Все ответы (45)
  • Как сделать боту комманду включения музыки по ссылки с ютуба на голосовом канале?

    h0w4rd
    @h0w4rd
    Python dev.
    Я даже не стал вникать в суть, просто посмотрел на код 30 секунд. Рекомендую почитать комментарии и последовать советам. И пожелаю удачи.
    import discord
    from discord.ext import commands
    # У меня зрение -3,5, но использования этого я не увидел.
    from pytube import YouTube
    
    bot = commands.Bot(command_prefix="!")
    # Все что, не закрыто иксами - можно узнать. А, что закрыто - секретно и ДОЛЖНО быть скрыто. А лучше вообще токен не показывать)
    TOKEN = "Njc1MzUwNTkzOTIwODI3Mzk0.xxxxx.xxxxx-xxxxx"
    yt_url = 'https://www.youtube.com/results?'
    game = discord.Game("Krunker.io")
    
    @bot.event # загрузка
    async def on_ready():
        print("Bot was launched!")
        await bot.change_presence(activity=game)
    
    @bot.command(pass_context=True)
    async def music(ctx, channel):
        url = ctx.message.content # вернет что-то вроде "!music youtube.com/watch"
        url = url.strip('https://www.youtube.com/watch?v=naIKplXzxTY') # почитайте что делает strip()
    
        vc = await bot.connect() # "бот, подключись!", а куда не сказано.
        vc.play(discord.FFmpegPCMAudio(url)) # ссылка на HTML страницу... а нужно АУДИО поток, а не станица. библиотека не может догадаться, что от нее хотят.
        vc.is_playing() # почитайте про "if"
        vc.pause() # зачем останавливать поток
        vc.resume() # и включать ._.
        vc.stop() # а после останавливать
    
    bot.run(TOKEN)
    Ответ написан
    Комментировать
  • Где найти подработку для написания несложных скриптов?

    h0w4rd
    @h0w4rd
    Python dev.
    Дополняя ответ Zoominger:
    Можно написать немного работ для портфолио, простые сайтики, визитки там. Или что 1С-ники там делают (не знаю, честно). И сделать профиль на каком-нибудь фриланс сайте. Затем подыскивать простенькие задачки, как нравится. Заказчик сможет посмотреть, что вы сделали и абстрактно, но оценить ваш уровень. Ну дальше понятно.
    Ответ написан
    Комментировать
  • Где глобальный package.json?

    h0w4rd
    @h0w4rd
    Python dev.
    На Windows это:
    C:\Program Files\nodejs\node_modules
    "глобального package.json" нет, не было и не будет.
    Да и ставить что-то не локалько - очень-очень (!!!!) плохая затея. Только Typescript, Babel и прочее, что нужно использовать в командной строке можно поставить. Остальное просто категорически не рекомендуется.
    Ответ написан
    Комментировать
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    h0w4rd
    @h0w4rd
    Python dev.
    1. [класс User] я бы использовал названия "name" и "phone", все-же ясно что это.

    2. [класс MyAdverts] ЗАЧЕМ? Можно сразу впихнуть в UserPersonalPage логику.

    3. [класс AdvertFavorites], зачем? Эти методы в Advert впихнуть НАДО, это к тому классу относится.

    4. [класс UserLoginLogoutService] Переименовать в UserAuthService хотяб. Или убрать методы в обычные функции. ООП ради ООП = зло.

    5. [класс UserPersonalPage] Убрать "my" из названия методов. Оно ничего не несет, ведь ясно к чему оно относится.

    6. [класс UserService] За такое я бы руки отбивал. Это все к объекту пользователя относится. Ведь user_service->changeUserName(user, "foo"); в разы хуже user->setName("foo");

    7. Касается всего: зачем, к примеру называть метод "changeUserName" если можно просто "setName" или "setNickname" ну или "setUsername".

    Прошу принять все серьезно и прочитать не между строк. Так вам же проще будет и всем кто ваш код использовать будет. Серьезно, чем проще тем лучше (ну, все-же упрощать не нужно вообще в максимум, в рамках разумного).
    Ответ написан
  • Как обнаружить причину ошибки 500?

    h0w4rd
    @h0w4rd
    Python dev.
    Попробуйте дебагеры, логирование а-ля "position 1", "position 2" после каждого существенного действия. Но это не на продакшен сервере естественно. Также вероятно это дыра в запросе в БД. Посмотрите, может там нет "LIMIT 1" какого-то.
    Ведь очень похоже, что раз "mysql" кушает процессор и много-много памяти - значит очень тяжелый запрос, скорее всего "SELECT".
    И 40 секунд скорее всего - максимальное время ответа что-ли, после веб сервер отдает 500 ошибку. Но в этом я не уверен. Может быть просто PHP падает от размера объекта.
    Ответ написан
    Комментировать

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

Все вопросы (6)