Задать вопрос
  • Как мне сделать чтобы бот записывал, то что введет участник в переменную в модальном окне?

    shurshur
    @shurshur
    Кирилл,

    with open("file.json", "w") as f:
        json.dump({"name": name }, fp=f)


    Прям по учебнику.

    Но судя по тому что там "информация о себе", у каждого пользователя должен быть свой файл? Или в одном файле все пользователи?

    Дальше встрянет проблема что если файл одновременно читается и пишется, то всё умрёт. Ещё хуже если он одновременно записывается два раза.

    И мы плавно придём к пониманию всех преимуществ баз данных для такой задачи.
  • Как сделать объединение двух сетей, две сети со своим белым IP?

    shurshur
    @shurshur
    praiden, ну вот предлагаю по порядку обсуждать.

    Игровые сервера могут работать на разных портах одного IP? Если да, то можно их на одном IP навесить на разные порты.

    Дома обычный интернет работает через этот сервер или сервер "параллелен" остальным пользователям (например, всё ходит через роутер)?

    На сервере винда, Linux или ещё что-то (BSD, Solaris, Android... да, конечно, вряд ли, но уточнить надо)?

    Будет ли нормально, если весь исходящий трафик с сервера будет ходить через vds?
  • Как сделать объединение двух сетей, две сети со своим белым IP?

    shurshur
    @shurshur
    praiden, откуда я знаю сколько тебе нужно?

    Я так понимаю у тебя какой-то игровой сервер, который слишком тяжёлый, чтобы его ставить у хостера, но дома нет внешнего IP? Тогда достаточно одного IP, реально. Пробросить нужный порт или несколько через VPN, на стороне домашнего сервера или (сложный вариант) сделать policy routing для посылки ответных пакетов через VPN, или (гораздо проще) весь трафик с этого сервера завернуть в VPN (но потребуется не забыть отдельный статический маршрут до внешнего сервера, чтобы VPN работал). Второй вариант может быть плох, если по какой-то причине трафик не нужно пускать через VPN. Например, если дома свой собственный интернет ходит через этот же сервер.

    В общем, если будет больше подробностей задачи, то будет и больше целенаправленных советов.
  • Как сделать объединение двух сетей, две сети со своим белым IP?

    shurshur
    @shurshur
    praiden, я ничего не взял, 4 IP упоминались в вопросе и переписке.
  • Как сменить кодировку MySQL?

    shurshur
    @shurshur
    pixal, можно изменить кодировку базы, а ещё можно указывать кодировку у конкретных таблиц. И менять кодировку при коннекте к базе принудительно.
  • Что особенного в IP адресе 8.8.8.8?

    shurshur
    @shurshur
    Griboks, ну не всегда, оно ещё может по BGP отдавать себя в разных сетях.
  • Почему не работает ping?

    shurshur
    @shurshur
    127.0.0.1 можно поднять вручную.

    ip l set up dev lo
    ip a add 127.0.0.1/8 dev lo

    Но в целом собирать систему с нуля это оооочень сложный квест. Я 20 лет назад пытался собрать LFS, словил кучу отсутствующих в книжке (LFS по сути книжка) ошибок, поправил их (это требует приличного понимания) и упёрся в то, что там в каком-то софте automake ооочень в недрах валился с совершенно непонятной ошибкой, которую мне скоро надоело отлаживать. В итоге кастомную сборку на систему с 486 процессором и 8 Мб оперативы я сделал из Gentoo, это оказалось намного быстрее и удобнее...
  • Что особенного в IP адресе 8.8.8.8?

    shurshur
    @shurshur
    Либо провайдер во время блокировки NATит 8.8.8.8 на свой собственный DNS, поскольку этот DNS часто стоит во многих системах и устройствах вместо провайдерского. Можно трейс сравнить при включённом и неоплаченном доступе, если он заметно отличается то это тот самый случай...
  • Как мне сделать чтобы бот записывал, то что введет участник в переменную в модальном окне?

    shurshur
    @shurshur
    Кирилл, в какую переменную? Куда? Что с этой переменной будет делаться?

    В коде в вопросе есть переменная name. Если заниматься буквоедством, то вот переменная. Правда, она локальная и выбрасывается при выходе из функции.
  • Как сделать объединение двух сетей, две сети со своим белым IP?

    shurshur
    @shurshur
    praiden, насколько я понял предыдущую переписку, у неё 4 IP. Если это не так, то, конечно, такой финт ушами не прокатит.

    Можно сделать nat но придётся делать policy routing, чтобы ответные пакеты с конечного сервера летели в VPN. Либо, как вариант, этому серверу весь трафик наружу завернуть в VPN.
  • Как мне сделать чтобы бот записывал, то что введет участник в переменную в модальном окне?

    shurshur
    @shurshur
    Кирилл, эта переменная свойство чего? Сервера? Канала? Пользователя?

    Например, если это свойство канала, то заводим словарь с данными и ключом channel.id. В него кладём нужные данные:

    channel_data = {}
    
    ...
    
    d = channel_data.get(channel.id, None)
    if not d:
        # по этому каналу у нас пока нет записи в словаре, создаём новую
        d = channel_data[channel.id] = {}
    d["text"] = "Новый текст на замену старому"


    Это просто пример для иллюстрации принципа, тут данныех хранятся в памяти. Можно вместо этого записывать их, например, в базу. Или в redis. Или хотя бы в файл. Можно сочетать, например, хранить и в памяти, и в базе - чтобы при перезапуске бота данные не терялись (тогда при загрузке надо загружать данные из базы, ну или регулярно по таймеру).

    Не забываем, что в Python всё передаётся по ссылке, поэтому d и channel_data[channel.id] будут ссылками на одно и то же, что можно проверить, выведя их id:

    print (id(d))
    print (id(channel_data[channel.id]))
  • Как собрать и запустить образ докера?

    shurshur
    @shurshur
    Xian, если приложенька лежит в image, то да. Если в image её нет и её прокинули внутрь через volume, то никак.
  • Как восстановить доступ к VPS?

    shurshur
    @shurshur
    На будущее: при изменении настроек sshd его рестартим и НИ В КОЕМ СЛУЧАЕ не закрываем текущую сессию. Проверку что всё ноом делаем в отдельном окне. Чтобы в случае чего можно было хотя бы откатиться (ну или дорешать проблему до конца).
  • Как мне сделать чтобы бот записывал, то что введет участник в переменную в модальном окне?

    shurshur
    @shurshur
    Кирилл, если речь про изменение имени пользователя, то у Member есть метод edit. Навскидку что-то типа inter.member.edit(nick="Новое имя"). Но вообще надо более внятно описывать, что именно требуется.
  • Как можно сделать свою систему проверки на плагиат на сайт?

    shurshur
    @shurshur
    Baki01, если это дипломная работа, то нужно не промышленного масштаба сервис сделать, а продемонстрировать какие-то навыки. И тут есть два способа:

    1. Взять на время защиты платный аккаунт из готового сервиса (может у него даже тестовый период есть?).

    2. Придумать какой-нибудь упрощённый антиплагиат для демонстрации. Например, взять 1000 любых готовых рефератов, и загружаемые тексты сверять каким-нибудь способом с этой эталонной базой (например, Левенштейном). Можно даже сделать это отдельным независимым от своей разработки "сервисом", с которым общаться по API.
  • Как сделать регистрацию команд из базы данных Disnake.py?

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

    shurshur
    @shurshur
    Задача проверки на плагиат в сотни и тысячи раз сложнее создания такого вот сайта. По сути надо будет сканить весь интернет или хотя бы тематические сайты на полный набор текстов с них, и это сложно, дорого, ресурсозатратно, на этом можно свой отдельный бизнес создать...

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

    shurshur
    @shurshur
    nikmil, не надо путать факт авторства и авторское право. Факт авторства является неотъемлемым, его нельзя изменить, но авторское право вполне себе отчуждаемо. В типичном договоре всегда оговаривается, что работник передаёт все права на результат работы работодателю/заказчику и не может ни на что претендовать. Работник не готовый код продаёт, а услуги по его написанию, и не имеет прав на этот код с самого начала, а не потому что ему заплатили. Вопрос оплаты - это не вопрос продажи кода. Это вопрос оплаты услуг.
  • Как не дать себя в обиду?

    shurshur
    @shurshur
    nikmil, не нужно работать 24/7 (я не верю в то что это правда так было), и заставить так работать никакой договор в любом случае не может (если это договор именно о работе, а не о выполнении каких-то услуг с возможным привлечением третьих лиц итд итп). Надо было с самого начала не страдать никакими переработками, а при их наличии сразу поднимать вопрос об их дополнительной оплате. А потом надо было ссылаться не на какие-то "обстоятельства", а на то, что работа была перевыполена в предыдущие периоды (если, конечно, была - мы-то это проверить не можем). Опять же, об обстоятельствах надо было предупредить заранее и заранее обговорить, каким образом это скажется на договорных отношениях и финансовых обязательствах.
  • Запуститься ли сервер?

    shurshur
    @shurshur
    В чём глубокий смысл покупки диска на 2 Тб, если диск ёмкости в 4 раза больше стоит в 1.5 раза больше?

    И начать надо с того, под чего конкретно собирается сервер, какие там будут задачи. Весьма возможно, что собирать его нужно из комплектующих с совсем другими характеристиками. Например, систему в любом случае имеет смысл ставить на SSD, а если там будет большая база данных - то ёмкость SSD дополнительно надо подбирать под её ожидаемый размер.