• JVM для встраивания в С код существует ли?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Ввёл в гугле embedded jvm in c и получил некоторое количество ссылок, например:
    https://stackoverflow.com/a/7506378
    https://www.developer.com/java/data/how-to-create-...
    Полагаю, можно использовать примерно на любой платформе, для которой есть JDK.
    Ответ написан
    Комментировать
  • Как правильно прописать проверку ввода чисел на питоне для ТГ бота?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    А что, по-твоему, эта функция должна делать? Она делает ровно то, что в ней написано: отправляет сообщение "введи числа" и потом тут же проверяет цифры в предыдущем сообщении пользователя.

    Гугли примеры register_next_step_handler (если это телебот) или "название_библиотеки finite states machine" в общем случае.
    Ответ написан
    Комментировать
  • Может ли Telegram бот читать каналы?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Нет, боту доступны только те каналы, в которые их добавит администратор канала. Читать произвольные каналы можно только с помощью клиентского API.
    Ответ написан
    2 комментария
  • Передача данных в callback_data с pyTelegramBotAPI?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Можно просто запоминать текст пользователя, а в callback_data передавать какие-нибудь кодовые обозначения нажимаемых кнопок. При получении от пользователя кода кнопки можно по его id достать ранее сохранённый текст и выполнить все нужные действия.
    Ответ написан
    Комментировать
  • При наличии on_message(), @bot.command не работает, что делать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Сейчас в коде какая-то каша. Зачем внутри класса MyClient, порождённого от Client, использовать методы с декораторами от ранее созданного инстанса другого потомка Client - commands.Bot? Это не имеет никакого смысла. Убери класс MyClient вообще, а все его методы перенеси на уровень выше (с соответствующим убиранием self везде в аргументах и заменой self на bot в коде). Вместо client.run сделай bot.run.
    Ответ написан
    Комментировать
  • Как записать несколько строк в файл bash?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В копилку к вышесказанному:

    echo -e "str1\nstr2\nstr3" >> file.txt
    Ответ написан
  • Почему await не переключает коррутины?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    asyncio вообще никак не гарантирует порядок, в котором будут выполняться функции и выполняться переключение на следующую. В этом примере, например, будет запущена a() и ничего про запуск b() не будет ещё известно среде выполнения. Затем будет запущена c(), быстро завершится и завершит a().

    Смысла в таком тесте мало - тут всё очень быстро происходит. Я бы рекомендовал для экспериментов вставить asyncio.sleep в функцию c, чтобы она не завершилась так уж быстро, а также во время этого ожидания гарантировано выбралась бы следующая задача - в данном случае продолжилось выполнение main().
    Ответ написан
  • При наличии в коде @bot.event, @bot.commands не работает(делал на python 3.9). Что делать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Так и должно быть в соответствии с написанным. Вызов bot.process_commands(message) случается только тогда, когда сообщение содержит smetanka_v_dele. Вынеси process_commands из if.
    Ответ написан
    Комментировать
  • Как отправить сообщение сразу всем на Discord сервере в python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    1. Написать сообщение в канал, который доступен всем пользователям. Это наилучшее решение в большинстве случаев. Можно использовать упоминания (@here, @everyone, @роль).

    2. Использовать цикл по списку пользователей. Если сообщения одинаковы, то это не очень хорошее решение. Также не все пользователи могут разрешать приём сообщений от сторонних контактов (готовимся отлваливать исключения). Плюс флудить в ЛС не очень хорошо в принципе, особенно если пользователей много (готовимся делать задержки, чтобы не превышать скорость). Ещё надо обратить внимание на то, что по умолчанию бот не имеет права получать через API список всех пользователей сервера, это надо явным образом включать, см. https://discordpy.readthedocs.io/en/stable/intents.html
    Ответ написан
    7 комментариев
  • Пишет два сообщения вместо одного. Что делать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Запись вида:

    if xxx == ('a' or 'b' or 'c'):

    свидетельствует о полном незнании языка Python. Соответственно, не зная языка, ничего хорошего написать не получится. Великое счастье, что этот код хотя бы не управляет ядерными боеголовками. Начинать надо с азов.
    Ответ написан
    2 комментария
  • Как сделать рассылку пользователям Телеграм?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Вместо:

    joinedFile.open("D:/бот/joined.txt", 'a')

    (который всё равно выдаст ошибку, потому что у файлового объекта нет метода open) сделать:

    joinedFile = open("D:/бот/joined.txt", 'a')
    Ответ написан
    Комментировать
  • Какая-то проблема с кодом, поможете?

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

    if message.chat.type == 'private':

    Если написали в приват, то в зависимости от сообщения будет тот или иной ответ.

    А если написали не в приват, то код сразу попадает в блок else.

    Прежде чем писать ботов, надо почитать учебник по python. Обязательно! Тогда и не будет таких тривиальных вопросов. Отступы в python очень важны. В этом коде else относится не к if-elif-elif... а к внешнему if.
    Ответ написан
    Комментировать
  • Ошибка в python aiogram телеграмм?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Он же пишет прямо, что не так. Запущен где-то второй инстанс бота с тем же токеном, который также дёргает getUpdates.
    Ответ написан
    Комментировать
  • Возможно ли сделать интерфейс для программы на питоне?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Если речь о графическом интерфейсе, то смотреть можно в сторону ключевых слов tkinter и pyqt5.

    Можно также сделать интерфейс на модных веб-технологиях с помощью eel.
    Ответ написан
    1 комментарий
  • Как создать кастомную прошивку?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Андроид в целом открыт, можно начать с изучения https://source.android.com/

    Но всё это настолько сложно будет повторить самому без обширных знаний и большого опыта, что я рекомендую даже не начинать.
    Ответ написан
    7 комментариев
  • Шанс блокировки номера в Whatsapp в CRM?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Да, всё так, WA хочет, чтобы за легальное подключение бизнес платил деньги и подвергался строгой модерации.

    Пользователи давно поняли, что если соблюдать определённую осторожность (не делать рассылок в первую очередь), то риск бана невелик, но это никто не может гарантировать. WA в любой момент может сделать выборочную проверку, может ужесточить критерии обнаружения несанкционированного использования API итд итп. Поэтому если в такое и играть, то я бы рекомендовал не использовать для этого номер, которой было бы жалко потерять.

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

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

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Операторы предоставляют телефонные номера с возможностью приёма входящих по протоколу SMPP. Как федеральные (11-значные), так и короткие. При этом исходящие сообщения (в сторону абонентов) можно отправлять только с коротких, на длинные можно только принимать входящие.

    Но стоит это довольно дорого. Один из операторов брал за федеральный номер 12 тыс. рублей в месяц, насколько помню. Короткие вообще безумно, мне даже страшно представить порядок цен.

    Но подключение по SMPP это лучший вариант с технической точки зрения. Альтернатива - это симка. Или у себя, или у сервиса, который предоставляет номера в аренду (типа sms-activate).
    Ответ написан
    3 комментария
  • Почему Яндекс Карта на сайте смещена по оси Y?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Скорее всего потому что яндекс-карты используют эллиптический меркатор EPSG:3395, а не сферический псевдомеркатор EPSG:3857. Надо добавлять объекты на карту через lat/lon координаты, а если добавляются объекты в целевой системе координат - правильно перепроецировать в нужную.
    Ответ написан
    Комментировать
  • Настройка webhook instagram?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Потому что параметры называются hub.challenge, а не hub_challenge; hub.verify_token, а не hub_verify_token.

    Upd: как выяснили, php принудительно меняет точку на подчёркивание. Пока обсуждаем в комментариях.
    Ответ написан