• Почему второе значение переменной не останавливает цикл?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Ещё б оно иначе работало:

    >>> b = "это все" or "конец"
    >>> b
    'это все'
    Ответ написан
    Комментировать
  • Можно ли как то через админку wordpress узнать внешний адрес к phpmyadmin?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    phpmyadmin и wordpress - это два разных движка для двух совершенно разных задач, никак друг с другом не связанные. Более того, phpmyadmin рекомендуется устанавливать в подкаталог с неочевидным именем и закрывать дополнительно http-авторизацией. Также можно дополнительно с помощью chmod закрывать к нему доступ вообще полностью, когда он не нужен, а ещё лучше его вообще не ставить, ибо зачем создавать себе потенциальную уязвимость на пустом месте? В общем, если владелец сайта не совсем дурак, то phpmyadmin у него мом совсем нет, или его фиг найдёшь, а если и найдёшь - не попадёшь внутрь никогда.
    Ответ написан
    Комментировать
  • Как сделать из int str?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Ну вот у тебя в row набор значений из базы по uid=..., тебе нужно взять то что тебе нужно и отобразить в названия ролей. Например, с помощью словаря, в котором каждому числовому значению присвоено своё строковое:

    my_awesome_dict = {
        1: "Первый",
        2: "Второй",
        10: "Десятый".
    }
    
    print (my_awesome_dict[admin])


    Зачем там дальше делается неправильный insert? Он же просто вернёт ошибку, так как в запросе нет никакого admin, чтобы вставить в таблицу.
    Ответ написан
  • Мейл-хостеры, позволяющие спокойно отправить по SMTP+SSL сотню-другую мейлов, без риска блокировки ящика?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Есть множество сервисов для рассылок, и у них бывают бесплатные пакеты. Например, у MailChimp 12 тыс. писем в месяц, у SendPulse - 15 тыс., у SendSay - 1 тыс. Рекомендую посмотреть в их сторону.
    Ответ написан
    Комментировать
  • Как убрать ошибку в TeleBot?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Так проверяй, что message.text cостоит из цифр (например, методом isdigit). Или лови исключение ValueError.
    Ответ написан
    Комментировать
  • Как парсить карточку товара Wildberries на python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Потому что в странице и правда нет этой информации, она потом рендерится с помощью js. Решать так же, как и всегда: либо с помощью Selenium, либо разобраться, что как js получает данные, и достать их самому.
    Ответ написан
  • Как спарсить это значение через python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    И не будет. Таблица

    <tbody class="table table-hover usdtrub_ask asks">

    пустая и заполняется js после загрузки страницы. Надо или использовать Selenium, или разобраться, откуда скрипт подгружает эти данные, и воспроизвести (подсказка: wss://ws.garantex.io).
    Ответ написан
    Комментировать
  • Discord.py Хочу сделать команду autoclear и присвоить ее каналу, но не пойму как это реализовать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    только начал изучать питон


    В этом-то и заключена проблема. Разумеется, если не понимать, что делаешь, то будет получаться непонятно что.

    В данном случае что происходит?

    1. Мы ловим любое сообщение на любом сервере, где есть бот, в любом из каналов, которые боту видны.

    2. Затем мы зачем-то получаем канал с фиксированным id.

    3. Затем мы обращаемся в этом канале к свойству message (а оно там есть? и что это будет, сообщение? какое?) и от него вызываем метод delete, причём с параметром message.

    В результате даже если этот, с позволения сказать, код удастся запустить, он работать всё равно не будет, зато будет кидать ошибки.

    Не нужно пытаться наугад писать бота. Это как пытаться залить бензин в автомобиль куда получается: в бачок для масла, в выхлопную трубу, в нипель на колесе... - в надежде, что она всё-таки поедет.

    Увы, но нет. Сначала надо освоить язык, начиная с элементарных основ, описываемых в учебнике. А уж потом переходить к более сложным темам.
    Ответ написан
  • Как сделать минимального бота?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Берём простейший эхобот на %любимый_язык_программирования% и чуть-чуть подправляем текст ответного сообщения под свои требования.

    Если %любимого_языка_программирования% нет, как и вообще навыков программирования, то обращаемся на фриланс.
    Ответ написан
    Комментировать
  • Как выдать роль пользователю?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    user = await self.bot.get_user(ctx.from_id)

    Тут получаем пользователя, который отправил это сообщение.

    await basa.register.main.adm(user)

    Тут мы этого пользователя передаём в функцию adm.

    await cur.execute("UPDATE profile SET admin='Хелпер' WHERE uid=%s", user.id)


    Тут мы в этой функции меняем значение поля admin у этого пользователя.

    Странно спрашивать, почему код работает так, как он был написан. Явно же имелось в виду, что в функцию adm надо передавать не отправителя команды, а то, что передано параметром команды.
    Ответ написан
  • Пишу код для Telegram Бота, как не делать тупые ошибки?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Сначала надо изучить язык программирования, потом освоить нужную библиотеку и уже тогда писать бота. А то это как выехать на трассу, купив водительсике права, но не изучив азы вождения.
    Ответ написан
    Комментировать
  • Как заставить телеграм бота работать через аккаунт пользователя от имени пользователя?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Да, это возможно, но придётся вместо Bot API использовать клиентский API (с протоколом MTProto). Тут наиболее распространены библиотека telethon для Python и официальная библиотека tdlib.
    Ответ написан
    Комментировать
  • В чем преимущества процессов над потоками?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Вопрос уровня "в чём преимущества грибов над ягодами?" Это просто разные вещи со своими особенностями и нюансами, и нет смысла говорить о преимуществе одних или других без конкретного описания условий и требований.

    На самом деле процесс и поток в реализации конкретной OS могут быть близки до такой степени, что потоки могут быть видны даже в списке процессов. Поэтому вполне можно сказать, что это практически одно и то же. Но не совсем.

    Для создания нового процесса в UNIX-системах делаетя вызов fork, который создаёт полную копию текущего процесса, включая его код и данные (в других системах может не быть fork, но есть свои способы создания процесса). Для создания же нового потока также делается новый "процесс", но вместо копии данных и кода в нём передаётся ссылка на те же самые данные и код (очень по-питоновски - ссылка вместо deepcopy данных). Поэтому потоки могут работать с одними и теми же данными, а самостоятельные процессы нет. Но иногда это как раз и нужно. Например, потоки должны как-то отслеживать конфликты с доступом к одним и тем же данным, а для процессов такой проблемы не стоит.

    Отдельно надо сказать, что понятие потоков и процессов в разных языках может быть реализовано не так, как это реализовано на уровне операционной системы. Например, JVM умеет делать потоки даже на системах без поддержки многозадачности. Она просто имитирует их внутри себя. Это же машина, виртуалка такая.
    Ответ написан
    Комментировать
  • Как получить id всех участников группы в тг?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В Telegram Bot API нельзя получить список участников группы, только общее количество getChatMemberCount, список администраторов getChatAdministrators и информацию о конкретном участнике чата по заранее известному id пользователя getChatMember. Именно поэтому вагоны примеров в поисковиках в основном используют библиотеку telethon.
    Ответ написан
    Комментировать
  • Error Ayncio, sqlite??

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    RuntimeWarning: coroutine 'test' was never awaited

    Вызов test без await. Вообще, ей и не нужен async, потому что запускается в треде.
    Ответ написан
  • Sql запрос UPDATE, что делать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    SET admin=Хелпер означает, что полю admin надо присвоить то же значение, что и у поля Хелпер. Но у нас нет в таблице никакого Хелпер.

    Чтобы присвоить значение не по имени столбца, а конкретное значение, его надо обернуть в одинарные кавычки:

    UPDATE profile SET admin='Хелпер' WHERE ...

    Вообще, советую почитать элементарные основы SQL, тогда таких вопросов возникать не будет.
    Ответ написан
  • Сколько различных значений поля category в таблице stories?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    SELECT COUNT(DISTINCT category) FROM your_table_name
    Ответ написан
  • Как в telebot отправить сообщение в виде таблицы?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Очевидно, что если в цикле вызывать send_message, то будет отправлено столько сообщений, сколько итераций цикла. Надо собрать сообщение в одну переменную и затем одной операцией send_message его отправить. Примерно так:

    message_text = ""
    for res in cursor.fetchall():
        message_text += "{0} {1}".format(res[0], res[1]))
    bot.send_message(..., message_text)
    Ответ написан
  • Как узнать апи пользователя который отправил сообщение телеграмм боту?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никак, бот не может узнать IP пользователя.
    Ответ написан
  • Изза чего Ошибка time, aiogram, Python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    import time в начале скрипта сделан? Откуда он узнает, что такое time?
    Ответ написан
    2 комментария