Задать вопрос
  • С чего начать изучать системное администрирование?

    @profispb
    Программист.
    1. Сделать дома сеть между двумя компьютерам, сначала компьютер-компьютер, потом через роутер.
    2. Поиграться настройками роутера для чего они, подключить внешний IP у провайдера, сделать доступ до компа из внешней сети.
    3. Поднять веб-сервер nginx+Apache+php закатать туда WP. Проверить что всё работает. Сломать, починить.
    4. Прикрутить zabbix, посмотреть как работает, заставить стать алерты.

    Установи на комп разные ОС, посмотри как работают.
    Удали файлы с компа гигов 100, потом попробуй их восстановить.

    В это время устроится в тех.поддржку интернет провайдера:
    Обычно там приобретаются навыки работы с терминалом, коммутаторами, ну и доступ как минимум к ещё одному компу во время работы
    Ответ написан
    Комментировать
  • Способы хранения медиа в telethon?

    @profispb
    Программист.
    Есть несколько варинатов:
    1. Есть известное сообщение где лежит медиа, когда надо отправит сообщение с таким медиа просто сохраняем себе и пересылаем, для это надо вести табличку соответствия(откуда и что брать)
    2. Хранить у себя эти медиа, вести таблицу соответствия и когда надо просто их рассылать
    3. Хранить в БД в blob - плохая затея, хранить медиа в БД))

    У telethon есть стадартные методы download_media, send_file
    Ответ написан
  • Как мне правильно развиваться в первую очередь как хороший программист, а потом уже как backend python?

    @profispb
    Программист.
    Изучай Паттерны и вариации построения приложений.
    Рекомендую изучить и понять, что такое Многопоточность и Многопроцессорность, а так же асинхронное программирование, в частности как это работает в Python

    Почему говорю про паттерны. Дело в том что самоучки часто пренебрегают этим, а потом код выглядит очень ужасно и совершенно не читаем.
    Ответ написан
    Комментировать
  • Как спарсить сообщения из темы в группе?

    @profispb
    Программист.
    Используй библиотеку Telethon

    Она отлично умеет работать с топиками.
    Ответ написан
    Комментировать
  • Aiogram или Telethon?

    @profispb
    Программист.
    Telethon больше нравится из всего что есть, но по нему не так много примеров и документация очень скудная.

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

    @profispb
    Программист.
    Чтобы бот отвечал в нужном топике группы, нужно знать id топика. (я не использую aiogram, поэтому напишу абстрактно)

    Обычно в обращении к боту есть информация от куда обратились. Нужно просто это вытащить.

    Во входящем events объекте должно быть что-то типа reply_to={msg_id: 67}, это и есть id топика.

    А ответное сообщение будет либо через answer либо send_message(id_канала, сообщение, reply_to=id_топика)
    Ответ написан
    Комментировать
  • Как избежать блокировки ботов telethon?

    @profispb
    Программист.
    Вы завершаете сессию?
    bot.close()

    Если нет, то попробуйте завершать.
    Если это не поможет, то перед запуском бота удаляйте файл сессии.
    Ответ написан
    Комментировать
  • Как получить ссылки на добавленные подключения в Apache Guacamole?

    @profispb
    Программист.
    Возможно уже нашли решение. Но если вдруг нет, то вот описание https://github.com/ridvanaltun/guacamole-rest-api-...

    Чтобы не изобретать велосипед для обращения к api взял готовую библиотеку https://gitlab.com/gacybercenter/open/guacamole-ap...

    Так же наверное интересует возможность создания подключения, и прямая ссылка на него.
    Приложу код на python
    import guacamole
    import base64
    
    
    def main():
        parameters = {
            "port": "22",
            "hostname": "ip_хоста",
            "username": "username",
            "password": "password",
        }
        session = guacamole.session("url_guacamole", "data_source", "guac_username", "guac_password")
        conn = session.manage_connection(
                              protocol='ssh',
                              name='pos_test2',
                              parameters=parameters)
    
        id = conn["identifier"]
        strok = [f'{id}','c','data_source']
        convert = '\0'.join(strok) # формируем строку со спецюсимволами
        b = base64.b64encode(bytes(convert,'utf-8')) # переводми в байты и конвертируем в base64
        clientid = b.decode('utf-8') #получаем чистый id с очистой от bytes
    
        #формируем чистый url для запуска подключения
        url_full = f'url_guacamole/#/client/{clientid}?token={session.token}'
        print(url_full)
    
    if __name__ == "__main__":
        main()


    На выходе получаете строку прямого подключения к хосту для браузера(пример):
    https://guacamole_templete.ru/#/client/MTExMzQAYwBwb3N0Z3Jlc3Fs?token=24B5F3629EA2C8D9D2D37A55B5E6C6048F936EB9232FEDAFF038796E2B9C8DBA
    Ответ написан
    Комментировать
  • Почему в топике Телеграм не отображается кнопка меню бота?

    @profispb
    Программист.
    Столкнулся с такой же ситуацией, не работают кнопки и некоторые моменты работают иначе, если бы топиков не было. Но для рабочих задач как раз нужны топики, поэтому все обходится с помощью inliine кнопок.
    Ответ написан
    Комментировать
  • Telethon не отправляет кнопки в канал, почему?

    @profispb
    Программист.
    Кнопки отправляются только если у вас бот.
    В примере выше вы пытаетесь отправить кнопки как пользователь.
    Ответ написан
    Комментировать
  • Как получить список всех пользователей приватного чата через бота?

    @profispb
    Программист.
    Как с помощью NodeJs сделать не знаю. Но если на python использовать библиотек telethon, то можно так
    user_from_channel = await bot.get_participants(channel_id)    
    for x in user_from_channel:
           print(f'Имя полльзователя = {x.username}, его Id = {x.id}')
    Ответ написан
    Комментировать
  • Как получить first_name по Id, telethon?

    @profispb
    Программист.
    Если пользователь не обращался к боту, то бот о нем ничего не знает. Это специальное ограничение телеграм бот.

    А если писал
    result = await bot.get_entity(user_id)
    print(result.stringify())


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

    @profispb
    Программист.
    Смотря какую библиотеку юзаете. В telethon это можно сделать так: (пример из документации)
    client(functions.channels.EditAdminRequest(
            channel='username',
            user_id='username',
            admin_rights=types.ChatAdminRights(
                change_info=True,
                post_messages=True,
                edit_messages=True,
                delete_messages=True,
                ban_users=True,
                invite_users=True,
                pin_messages=True,
                add_admins=True,
                anonymous=True,
                manage_call=True,
                other=True,
                manage_topics=True,
                post_stories=True,
                edit_stories=True,
                delete_stories=True
            ),
            rank='название роли'
        ))
    Ответ написан
  • Бот/программа для автоматического отправления сообщений в telegram в определенное время?

    @profispb
    Программист.
    Есть лимиты чтобы не попасть в бан. А так в целом автоматизацию никто не запрещает

    Можно использовать Telethon обёрнутый в FastApi
    Ещё и красивый интерфейс ко всему этому намутить
    Ответ написан
    Комментировать
  • При отправке запросов на Wildberries API через Axios, получаю ошибку, как исправить?

    @profispb
    Программист.
    Ответ есть в данной статье https://learn.javascript.ru/fetch-crossorigin

    А если кратко, то заголовок localhost:3000 (условный адрес сервера), не является доверительным для https://suppliers-api.wildberries.ru, поэтому выходит блокировка CORS.

    Попробуйте вытащить данные через запрос с сервера на котором включен SSL типа https://blabla.ru
    Или на бэке обрабатывать запросы и тянуть во фронт подготовленные данные.
    Ответ написан
    Комментировать
  • Добавить сортировку в sql?

    @profispb
    Программист.
    order by добавить надо! Это если SQl.
    А если через php там другая функция есть!
    Ответ написан
    Комментировать
  • Почему не выполняется запрос?

    @profispb
    Программист.
    Какую ошибку выдаёт?
    Ответ написан
    Комментировать
  • Почему ничего не выбирается из базы данных?

    @profispb
    Программист.
    Не правильный запрос, SQl не понимает какие из какой таблицы он должен выгрузить данные по этим полям. Переменные таблиц не заданы!
    Ответ написан
    Комментировать
  • Как записать одинаковые данные в базу?

    @profispb
    Программист.
    таблица с 11 столбцами
    первый Название
    А остальные 10 это дни 1,2,3,4,5,6,7,8,9,10
    Ответ написан
    Комментировать
  • Каталог магазина, размеры php Mysql?

    @profispb
    Программист.
    Несколько таблиц, и сложный запрос!
    Ответ написан
    Комментировать