Остались ли тут ещё аноны-хикки, социофобы? Раз у нас законодательство такое, что лучше свою АИБ не открывать, вот у меня появилась идея: что насчёт того, чтобы написать скрипт/программу которая объединяет в себе все убежища? Я программировать умею, GUI делать тоже. Может кто другой сделает. Получается как одна доска, которая содержит в себе все убежища из России. Как вам такая идея? Конечно может быть возможность добавлять/удалять те или иные /rf/ из списка в настройках.
>>3602392У нас слишком много убежищ, но там почти ничего не постят. Если их объединить, программно, то может ситуация станет лучше. Забанили на одном АИБ в /rf/ - постишь на другой. При этом у всех отображается как одна доска. Но в этом могут быть заинтересованы только социофобы, может хикки, поэтому и спрашиваю.
Звучит прикольно на деле скорее всего шлаком выйдетНе из-за твоих способностей а в принципе как данность
>>3602396Проблема только в вирусах, ведь кто будет запускать непонятный .exe или скрипт на python (хотя python такой язык, что там можно прочитать исходники), то есть насчёт этого надо думать. Может javascript какой-нибудь...
>>3602396Я ещё pop-up'ы умею делать, то есть новые сообщения могут приходить как в каком-нибудь мессенеджере. Обновлять страницу не надо. Можно настроить: "новые посты/новые треды".
>>3602403Согласен, перед смешиванием убежищ нужно выгнать отсюда долбоёба энуму и усерище, тогда и стыдно не будет при знакомстве с другими /рф.
>>3602406Я понимаю, что можно убрать, но ведь поехавшие с 2ch.hk/rf ничего убирать не будут, понимаешь? Это будет настоящее вторжение местного шизла в спокойные, годные разделы
>>3602390 (OP)Тебе придется как-то договариваться с владельцами убежищ ,врятли они заходят чтобы вместо их сайта заходили непонятно куда
>>3602416Зачем? Какая разница, что они подумают? Это, технически, просто ссылка на их сайты. Которая публична как бы
Я пока что опишу примерные алгоритмы (может кому понадобится):1. Парсим html во всех /rf/ (или качаем json)2. Программно их объединяем, добавляя параметр в интерфейсе который даст определить с какого сайта тред.3. Пишем все возможные функции (скрытие треда, возможность постить, прокси, возможность не скачивать картинки и иметь именно текстовую доску + экономит трафик, оповещение о новых сообщениях)4. Дать возможность самому пользователю добавлять и удалять /rf/ из списка (не зависеть от создателя программы/скрипта)5. Открытые исходники (без них никак, а то вдруг вирус)Lite-версия (кому не нужны все эти функции):1. Парсинг всех /rf/.2. Оповещение о новых тредах и/или постах. (Тонкая настройка)3. Открытые исходники.
Нужно вышвырнуть отсюда хикк и прочее шизло, оставить успешных социальных кунчиков и ездить на чатовки, попивая крафтовое пивко.
Насчёт языков программирования, рассматриваю два варианта:javascriptpythonДумаю, нужно реализовывать оба. Javascript - для параноиков и удобно в браузере (нужно изучать разработку расширений для браузера), python - в виде приложения, больше возможностей. В том случае если программа сломается (изменится что-то в json или html коде отдельного сайта), то это легко может исправить любой, кто хотя бы чуть-чуть разбирается в программировании.
>>3602432>ышвырнуть отсюда хикк и прочее шизлоПроснись ты серишь, они уже давно ушли. Осталось 2.5 хиккаря их которых 2 это аноны.
>>3602390 (OP)Глупость. Лучше создать одно убежище, на другом ресурсе, с более строгой модерацией против нормиков
>>3602470Может тебе помочь? Я раньше программировал на python, но то была 2 версия, а сейчас актуальна третья. Мог бы с тобой поучиться, прямо в этом треде постить что-нибудь будем.
>>3602470Для создания GUI использую интерфейс Qt. (Скриншот из интернета)Так что там изучать то только язык, а интерфейсы в Qt Creator делать можно.
>>3602490Не, я вообще пока не ебу)0))только 5 минут назад разобрался с условиями if, elif, elseт.е. я нубпару дней назад создал тред и мне посоветовали учить питон
>>3602503Так я же сам только начал программу эту писать. Я тебе такие же простые вещи могу описывать.Файл main.py, содержит код программы.Файл parse.py, здесь пишу функции для парсинга АИБ.(пока что так, потом может изменится)Дополнительные библиотеки подключаются с помощью import. Так же можно подключать свои библиотике, то есть вот как у меня parse.py (так удобнее код читать и получается пространство имён). Для кодинга использую PyCharm, бесплатная.Вот пример кода:import jsonimport urllib.requestimport configparserimport osresponse = urllib.request.urlopen("https://2ch.hk/rf/res/3602390.json")todos = json.loads(response.read())import - это подключение разных библиотек, дополнительных функций. Urllib используется для соединения с сайтом, скачиванием json этого треда. Далее записываются данные в переменную todos.Это я сам только учусь, я же давно программировал и то на второй версии языка.В parse у меня сейчас лежат заготовки для функций парсинга json и html (конкретных АИБ и общие функции). Именно этот код и нужно будет переписывать если какая-то АИБ изменит код HTML или формат данных JSON.
>>3602390 (OP)> Раз у нас законодательство такое, что лучше свою АИБ не открыватьВпс где-нибудь на Фиджи купи и никаких проблем.> Получается как одна доска, которая содержит в себе все убежища из России. Как вам такая идея? Живо только убежище мочана, это бессмысленно.
>>3602515Почему не твой уровень? Это и есть самые простые вещи - импорт библиотек, переменные и функции.response - это переменная, urllib.request.urlopen - функция, которая принимает как параметр url. В переменную response записывается результат выполнения этой функции. Далее используется функция json.loads, которая должна превратить json, который получил от сайта в список/массив, с которым уже удобно работать в коде программы. И записывается это в переменную todos. Это пример кода.
>>3602515Ты PyCharm то скачал? Качаешь Python, затем PyCharm. И там уже можно программировать, жмёшь там на кнопочку и можешь посмотреть на результат выполнения программы.
>>3602539А там есть список файлов, вкладки? Когда пишешь программный код, обычно работаешь в нескольких файлах.
>>3602544Наверное, нет. Там можно писать и выполнять несложные программы. Я делал только арифметические и лог.
>>3602539Есть ещё автодополнение кода (когда пишешь функцию, тебе уже дают выбрать из списка функций, по названию, которое ты вводишь). Это не всем нужно, но может быть удобно. Вот пример на скришноте: вводишь js, а там окошко с подсказкой и выбором, что есть такая функция - json. Так же может быть с переменными.
>>3602390 (OP)Зделать яму или ДЫРу там всех кучей ГРоХНуть ((((Накармит. Чаеюм напоить и выыыыыллллллллллееееееееддддооллллСпааат ГоРШолллууу кидровые сиськиииии древесныые дыры
>>3602390 (OP)>называть убежищами места общего пользования со свободным доступомЧто еще расскажешь, человек из внешнего мира?
>>3602570Можешь этот код попробовать запустить. Создаёшь файл main.py, там:import jsonimport urllib.requestimport configparserimport osdef createConfig(path): config = configparser.ConfigParser() config.add_section("Url") config.set("Url", "2ch.hk/rf", "json") config.set("Url", "rfch.xyz/rf", "json") config.set("Url", "2--ch.ru/rf", "html") with open(path, "w") as config_file: config.write(config_file)createConfig('refuge.ini')( если код не запустится, то может что-то с форматированием на АИБ, убирает табуляции, которые могут быть важны для python, так что ссылка на pastebin: https://pastebin.com/RVNUuCkQ )Создаёт файл refuge.ini. def используется для объявления функции.В данном случае объявляется функция createConfig с параметром path. Параметр существует внутри функции, то есть path будет содержать то значение внутри функции, которое ты ему передашь. В данном случае нужно передать имя создаваемого файла, в примере кода используется refuge.ini. К языкам программирования есть документации, в которых можно посмотреть какие есть функции (встроенные), какие они принимают параметры.Пример: функция openhttps://docs.python.org/3/library/functions.html#openМожет, можно найти и на русском языке.В новых версиях языка может что-то меняться, то есть при чтении книги/документации к python 2 код может не работать в python 3. Так же сам python 3 может обновляться и что-то в языке программирования меняться.Пример из документации:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)Название функции - open. Далее описываются параметры функции, у функций бывают обязательные параметры, а бывают опциональные. Функция open используется внутри createConfig для открытия файла, принимает как первый параметр путь к файлу, а как второй параметр - режим работы с файлом, в данном случае это - w, режим записи.
>>3602682Вот здесь написано, что похоже и на javascript можно. Только там блокировщики вроде есть.https://habr.com/ru/post/338586/
>>3602515Ещё советую разобраться с тем, как будешь называть переменные. А то иногда можно запутаться, где какие данные хранятся, да и поддерживать один и тот же стиль программирования.Один из вариантов: https://ru.wikipedia.org/wiki/Венгерская_нотация
>>3602515>Существуют и другие средства задания типа переменной в её имени: например, слова is, has и т. д. для булевского типа (IsLoggedIn), count для счётчика (RefCount), множественное число для массива (UserIds). В языках, в которых заглавные буквы не эквивалентны строчным, регистр букв также может кодировать что-либо.
>>3602515Я имел ввиду, что могу тебе что-нибудь подсказывать, а не код просил писать... Я то чуть-чуть в программировании разбираюсь.
>>3602758Не знаю. Наверное. Но это же интерпретируемый язык программирования, можно прочесть исходные коды и определить, что там вирус.Есть языки программирования, где программу нужно компилировать и получается .exe файл, а есть языки программирования где прямо исходные коды выполняются и они доступны пользователю (тот же pyhon).
>>3602766Т.е. программу, написанную на python нельзя скомпилировать в exe, правильно?А в чем смысл python тогда?
>>3602772>Т.е. программу, написанную на python нельзя скомпилировать в exe, правильно?Может быть и можно... (сторонним софтом) но обычно так не делают.>А в чем смысл python тогда?А что не так то? Просто пользователь запускает .py файл за место .exe, такая же программа. Просто считается, что скомпилированные программы быстрее выполняются. А тут зато пользователю доступны исходные коды. Да и самому программисту проще, ведь программу не нужно каждый раз компилировать, прежде чем её проверить.Обычно:пишешь код -> компилируешь -> запускаетА тут:пишешь код -> запускаешьКомпилируют как раз в том числе тогда, когда нужно скрыть исходные коды. Те же самые проприетарные программы. А то сделаешь ты этот... "введите ключ продукта", а пользователь возьмёт твой .py файл откроет да и удалит эту часть кода.
>>3602772Есть какие-то py2exe и pyinstaller. Как я понимаю, тогда на компьютере пользователя не нужен установленный python, но и получается в таком случае уже .exe файл...
>>3602783Вот как...a = int(input())b = int(input())h = int(input())if a <= h <= b: print ('Это нормально')elif h > b: print('Пересып')else: print('Недосып')Я пока где то здесь.Про функции о которых ты писал, я знать не знаю, они в третьем параграфе (завершаю первый)
>>3602792Функции обычно выполняют какие-то задачи - работают со строками, числами, сайтами, файлами... Поэтому обычно их можно почитать в документации или ещё каком-то словарике со списком функций. (Поискать в гугле)Нужно скачать html с сайта? Ищешь функцию. Нужно разбить строку? Ищешь функцию в документации/каком-то учебнике.Вот список модулей в том же python: https://docs.python.org/3/py-modindex.html(Снова же, может быть есть документация на русском)Вот один из модулей - math (математические операции):https://docs.python.org/3/library/math.html#module-mathhttps://pythonworld.ru/moduli/modul-math.html - (вот на русском)И там список функций этого модуля.Для примера:math.ceil(X) – округление до ближайшего большего числа.math.copysign(X, Y) - возвращает число, имеющее модуль такой же, как и у числа X, а знак - как у числа Y.math.fabs(X) - модуль X.и т.д.math.ceil(100.3) вернёт значение равное 101math.ceil(100.7) так же вернёт значение равное 101Но если функции являются частью модуля (того же math), то этот модуль нужно сначала загрузить, то есть в начале файла пишется:import mathА потом уже используется эта функция. Если не выполнить import, то эта функция просто не обнаружится и в программе будет ошибка.
>>3602817Естественно, если какой-то функции нету, ты можешь сам написать библиотеку/функцию. Под библиотекой имею ввиду тот же самый модуль, список функций. Можно найти библиотеки где-нибудь в интернете, скачать, добавить в свой код программы. Для python есть какой-то pip, который даёт возможность эти дополнительные библиотеки устанавливать. https://ru.wikipedia.org/wiki/Pip_(менеджер_пакетов)Для примера: https://techrocks.ru/2017/09/27/top-ten-libraries-for-python-programming/То есть в программирование есть такая присказка: "не писать велосипед".Вот что такое json? Это обычная строка, текст, только оформленный определённым образом.['значение', 'значение', 'значение']Вот пример json. (json отдают разные сайты, там может быть список постов, тредов)И есть два варианта - с помощью строковых функций, очень сложно разбираться как же эти данные перевести в формат данных для твоего языка программирования, этот json превратить в массив, объект. Это реализуемо с помощью строковых функций, но можно просто воспользоваться встроенной библиотекой jsonimport jsonИ там простые функции для работы с этим json. Как я понимаю некоторые библиотеки встроены в python, а некоторые похоже можно устанавливать с помощью pip.
>>3602390 (OP)Хочешь, чтобы эта помойка протекла туда, где возможно ещё есть немусор? И что ты подразумеваешь под объединением? Просто виджет со списком или что-то глубже? Если второе, как ты уговоришь хозяев других досок?
>>3603298>Просто виджет со списком или что-то глубже? 1. Оповещение о новых сообщениях на выбранных /rf/ (новые треды и/или новые посты, возможность подписаться на тред)(Это для lite-версии)А так я подразумеваю интерфейс, в котором будут отображаться треды из /rf/ всех АИБ России на одной странице. Естественно, если какой-то /rf/ мешает - просто его отключаешь. А далее уже можно писать любой функционал....Вдруг кому понадобится (такая же ошибка возникнет):когда писал код, не находились библиотеки добавленные с помощью pip, так что пришлось их скопировать в Lib самого проектаМожет есть ещё какое-то решение, пути там какие-то отредактировать. Но у меня вроде PATH нормально установлен.
>>3603298Можно писать уникальные функции, такие как: "оповещать только об ответах на мои посты", ведь в интерфейсе можно будет сделать список того какие посты твои, это же локальное приложение, берёт и пишет в локальную базу данных,, что твой пост, файл какой-нибудь. Ещё что-то из разряда: "постить рандомную картинку из каталога к сообщению".Дело в том, что когда-то я писал свою АИБ и у меня типа такого GUI уже было. Так что я не первый раз пишу.
Идея интересная, но, как по мне, лучше всё это херачить через electron и просто сваливать все сообщения на одну страницу. Остается придумать скрипт который будет всё это сортировать. Что, как по мне можно сделать через парсинг даты. И научиться работать с electron и react конечно
Если кому интересно, буду описывать как у меня сейчас выстроено приложение:Convert/JsonConvert/Html-Должны содержать функции для конвертирования разных Json и Html в общий формат данных, эти функции импортируются автоматически, в __init__ прописан автоматический импторт всего, что находится в этих каталогах. Положил в этот каталог файл и вот уже новый конвертор готов.Конфиг выглядит сейчас вот так:[адрес/раздел]protocol = httpspathThreads = /pathThread = /resindex = indexformat = jsonconvert = Bconvert - это какая функция будет использоваться для конвертирования данных в общий формат, на одной АИБ для номера поста используется переменная num, а на другой no, в этом дело.config.py - парсит, парсит конфиг, работает с файлом конфигурацииparse.py - в данный момент служебные функции для скачивания html, json и автоматическое их конвертирование в общий формат данныхrefuge.py - объект, который содержит в себе отдельный /rf/ раздел имиджбордыОбычно структура данных меняется до неузнаваемости... так что это просто, кому интересно.
>>3603652Прочитал как "Если кому интересно, то меня вырвало".Иногда какие-то забавности прочитываю неправильно.
>>3603693Запилил хоть какую-то оповещалку (popUp'ы), чисто демонстративно, потом ещё дизаин можно отредактировать. Может там можно даже html встраивать... когда я другую GUI писал, у меня там даже картинка с АИБ показывалась. Понятно, html же прямо в popUp'е.
>>3602390 (OP)>Остались ли тут ещё аноны-хикки, социофобы?Да>что насчёт того, чтобы написать скрипт/программу которая объединяет в себе все убежища?Делай что хочешь, мне всеравно. всеравно скоро умру>Я программировать умею, GUI делать тожемолодец
>>3603754> передай мне свои знанияЯ не понимаю как можно вообще уметь программировать. Это какой-то чит, этому не возможно обучиться без читов. как и понять физику
>>3603775>Я не понимаю как можно вообще уметь программироватьЛадно, давай научу программировать. Написано уже много готовых библиотек, программного кода. Даже программировать особо не надо... качаешь библиотеку, которая тебе нужна для определённой задачи и используешь в программном коде.С новыми версиями языка так же могут появляться новые функции. Нужно соединиться по http с сайтом? Качаешь библиотеку! Нужно авторизироваться на сайте с помощью сложной системы? Качаешь библиотеку. Нужно использовать прокси? Качаешь библиотеку. А потом делаешь пару строк кода.Вот банальный пример, что такое jQuery? Это библиотека на javascript, её можно подключать к своим проектам... но для чего? А для того, чтобы код лишний не писать! Тебе нужно реализовать какую-то функцию и тут два варианта: написать её самому, воспользоваться сторонней библиотекой, тем же jQuery. Их изучать не сложно, если понимаешь, для чего они нужны. Нужно, чтобы на сайте красиво появлялись сообщения? Смотришь, как это сделать в jQuery... разные спецэффекты. Не нужна тебе jQuery? Так не пользуешься. Но когда захочется, чтобы сообщение как-нибудь выдвигалось, исчезало медленно, а не сразу, что тебе делать? Либо писать функцию, которая будет это делать, либо скачать jQuery и установить на свой сайт.Возьмём тот же самый... QtDesigner, в нём можно делать разные окошки, то как выглядит приложение. Но что делает этот QtDesigner? Так же пишет код за тебя! Ты расставляешь окошки, выбираешь из менюшек, а потом тебе даётся код, который ты просто вставляешь в свою программу и получается интерфейс. Но если бы не Qt Designer? Мог бы писать в ручную... сам.Даже возьмём появление новых сообщений, как вконтакте. Вот написали сообщение... и оно появилось. Как это можно реализовать? Легко! Есть же библиотека dklab_realplexor, скачаешь её, устанавливаешь на свой сервер... и вот ты можешь сделать так же, браузер получит постоянное, висящее соединение с этим dklab_realplexor и там минутное дело написать всё остальное. От тебя только требуется отправить данные в этот поток, а потом их отобразиться. Это не так сложно, тут больше проблема в том, что dklab_reaplexor это какой-то сервер, который нужно устанавливать.
>>3603808>тебе нужно реализовать какую-то функцию и тут два варианта: написать её самому, либо воспользоваться сторонней библиотекой, тем же jQueryfix
>>3603808Это Франкенштейн из обломков исходного кода. Индусский код. И за это вы хотите 100к в нано/сек?
>>3603859А разве есть другой выход? Если реализуется тот же самый функционал. Вот имеется библиотека ffmpeg для работы с видео... что, свою писать что ли?
>>3603863Есть программисты специалисты по вирусам-антивирусам, программам для робототоехники, беспилотников, производственных линий, разработчики алгоритмов поисковиков гугла и яндекса, творческий подход, немного другое как бы.
Во, более-менее норм. Если нужно будет картинку отображать, то предварительно нужно будет в каталог скачивать (программно), а то там если указываешь url к картинке по http - не работает, локальный, в каталоге, уже скаченный - работает.
Я кстати разобрался почему у меня библиотеки добавленные с помощью pip не находились и пришлось их в сам проект добавить. В проекте есть файл pevenv.cfg, случайно его открыл, а там параметр:include-system-site-packages = falseЕсли стоит false, то библиотеки не загружаются, нужно установить true.(Вдруг кому из местных надо будет, кто изучает)
Интересно совмещать программирование и мистику.Когда каждая строка не обычный набор знаков, а ритуальные последовательности. Каждая программа помимо основной задачи может использоваться для гниений.
Наверное не буду больше играть.Сижу по 8 часов.У мну зависимость от пвшки лютая.А так нравится играть. И все быстро.Азартно.
От игры мышление меняется.Стал сам с собой разговаривать тихонько.Ну и ощущение непонятное.Полный отрыв от происходящего.Эти и нравится так долго играть, способ отвлечься.Вроде и нет толку от игры, убивалка времени. А так хочется побегать, больше всего ваще. Кушол бы и играл.Ну и связывает уже много приятного. Сколько лет прошло а я не поменялся нисколько. И не поменяюсь никогда, полагаю.
>>3604152Ощущение тайны, чего-то сверхъестественного и неопределимого.Знаки светящиеся не интересно.А когда иащвшатлал что-то лютое, то здоровско.
Заебло играть к 26 толькоДаже в дискорде не хочу статус менятьСразу начнут ныть чтобы зашел на сервак, а меня тошнит от игр
NameError: name 'true' is not definedNameError: name 'true' is not definedNameError: name 'true' is not definedNameError: name 'true' is not definedДумал, что же такое... а там оказывает True!
Пока что получилась только простая программа, которая автоматически отображает новые сообщения на АИБ одно за другим (типа чата).Насчёт javacript вот такие идеи: javascript который на одной странице будет так же как эта программа отображать только новые сообщения, либо новые треды, пока страница открыта и вторую страницу/скрипт, где новые сообщения не появляются, но отображается как одна доска несколько /rf/.
>>3602390 (OP)>все убежищаА тебе что, нужны нормалфаги с доброчка или поехавшие с рфрокс? Ну удачи, чо.
>>3604812Мдее, пока что всё очень топорно выглядит, просто чятит не годится, там хотя бы есть автообновление и скрытие по трипу?
>>3604817Да я же простой вопрос задам... а почему, собственно, не постят в других /rf/? Эта доска модерируемая, рфч.рокс и доброчан модерируемый. А мелкие АИБ, где есть рф, там почти не постят... Объяснишь это? Вам модерация норм? Вы только и пишите о контингение ваших АИБ, хотя все эти /rf/ модерируемые и там выдают баны один за другим, значит ваша модерация выбрала такой контингент.>>3604832Ну под чатом подразумеваю любой доступный html код (там и картинки можно отображть, номера постов, это просто шаблон как бы). Что значит "автообновления"? Чат же на то и расчитан, что там новые сообщения добавляются сами...
>>3604834>Чат же на то и расчитан, что там новые сообщения добавляются сами...Именно это меня и интересовало. А там можно ещё сделать возможность скрыть посты из определенного треда? Это было бы очень полезно.
>>3604837Да конечно, просто настройки нужно делать и всё. Какой-нибудь конфиг файл, в который записывается с каких тредов отображать сообщения, а какие игнорировать. Так же на javascript может можно.
>>3604834>все эти /rf/ модерируемые и там выдают баны один за другим, значит ваша модерация выбрала такой контингентА я что, спорю что ли?