Я сделал генератор всратых открыток из ватсапа / генератор всратых открыток :: whatsapp :: генератор :: открытки (somee cards по-русски, atkritka.com)

открытки whatsapp генератор генератор всратых открыток песочница 

Я сделал генератор всратых открыток из ватсапа

Всем привет. 

TL;DR: @WhatsapNightmareBot в телеграмме

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

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

Пока я либо не разберусь с линухом, либо не арендую сервак получше (скорее первое, плачу из кармана), ожидайте что бота будет вышибать и он будет лежать в дауне пока я не замечу. Я стараюсь проверять как могу, но там 1 гиг оперативы, а на бота иногда прям наседают. 

Лучшее нагенеренное (из того что пользователи решили отправить мне) я пока выкладываю в твиттере, не знаю, делать ли мне канал с этим или оно затухнет и смысла не будет. В комментах тоже буду рад видеть генерации, которые вас порадовали. 

Всем добра и всех с днём горькой попки огурца. 

открытки,somee cards по-русски, atkritka.com,whatsapp,генератор,генератор всратых открыток,песочница

Подробнее

открытки,somee cards по-русски, atkritka.com,whatsapp,генератор,генератор всратых открыток,песочница
Еще на тему
Развернуть

Отличный комментарий!

Одноклассниками повеяло
С месяцем тогда уж
Хули мелочиться. С Эпохой Пидора!
На чём бот крутится питон/пыха/Ява?
Если падает вообще скрипт, можно пихнуть в контейнер докера это всё дело и там в настройках указать авторестарт.
Если виснет из-за кривого запроса в очереди телеги, то тут либо экспешнены ловить либо можно придумать метод, который будет чекать ошибки в очереди и перезапускать бота. И повесить этот метод на крон раз в n время.
Эксепшены*
Это питоновский скрипт, крутящийся в screen, который вгружает в себя пнгшки. Когда это с ним делают одновременно много человек, виртуальный сервер убивает screen за превышение расхода оперла.
Мне уже скинули манул по авто-рестарту с помощью *сверяется с бумагами* systemd, я вот его курю потихоньку. Кажется, поднимать докер на арендованном виртуальном сервере я буду ещё дольше, я не кодер, я просто очень храбрый психолог.
Докер поднять не сложно. Впс с убунту, инстал докера, поиск подходящих конфигов контейнера и запуск питона в нём. Пидоры с реактора помогут) Если не получится с systemd - пиши, помогу с докером
Хорошо, спасибо большое!
В качестве контейнера для единичного скрипта лучше, наверное, имейдж alpine, он меньше и шустрее полного дистрибутива линукса и в него уже добавить нужное.
Python под Alpine часто не очень удачная идея запускать, там стоит musl вместо gcc и часть питоновских библиотек (особенно тех, которые работают на низком уровне - криптография, работа с картинками) приходится компилить с нуля, вместо того, чтобы брать уже предкомпиленные whl.
Буду знать. Сам джавист.

Основная идея была в том, чтобы найти легковесный имейдж. Думаю, для Python тоже есть уже готовые минималистичные в публичном доступе.
Да, debian-slim тот же обычно отлично работает, как и просто python образ, который на нём же и построен
Покури в сторону supervisord, гораздо проще будет.
Почитаю, спасибо большое!
Да за что вы так со мной...
’* Г 1ЙЯК&! @WhatsapNighbmreB;ot
Жаль, что не 15
А можно туда как-то свои картинки закинуть?
Или тему для картинок
Чтобы именно следующая генерация использовала твои картинки - нет, нельзя, к сожалению, не умеет(

Если есть хорошие пнгшки, то можно кинуть и я включу в базу, и у них будет шанс появиться в любой открытке, но без гарантий, к сожалению.
Генерация со своими картинками была бы очень в тему, жаль
Я буду держать в голове, но пока честно не знаю, когда будет время какие-то такие масштабные доработки в него пихать, немножко тону в работе. Если будет возможность - сделаю!
Тут реализация сложнее. Но идея хорошая база картинок для каждого аккаунта который общается с ботом своя + общая которую делает админ.
Ага, только надо, наверное, менеджмент своей базы как-то прикручивать. Хз, мб подключение к гуглопапке сделать или типа того.

Не знаю как у тебя всё реализовано и алгоритмы, пишу примерно как бы сделал я. БД и там таблица с url к картинке и привязкой к юзерам. Если нет юзера значит это общая папка. Ну и складывал картинки в нужной тебе структуре.
files -> common(общие файлы) и files-> 9999999(chat_id конкретного юзера телеги)
Во время генерации стучал бы в базу и брал нужный путь к картинке.

Закидывание сделать-то легко, да и это всё в какую-нибудь ORM обернуть и вообще не думать про БД, а пикчи хранить на ледянном S3 за три копейки. Но вот когда юзер захочет посмотреть что накидано, залить 100500 одинаковых картинок или просто удалить что-то -- это уже куча функционала, который лень писать
Со своими картинками можно сгенерить самому в фотошопе.

Так не интересно)

Отличная штука, нам очень зашла
Пересланное сообщение От Бабушка Прасковья Пешзд на^(
Не, ну это вообще нетленка, шедевр шедевров
Анимированные блёстки прям очень высоко в туду списке
Знак качества
Молодец, так держать. Я вот тоже начинал осваивать с подобной херни. Делал генератор ачивок.
/xbox Хуйню сделал 22-56 >УУ Achievement unlocked Хуйню сделал /steam Говнокодер 22:57 ^ Открыто достижение! Говнокодер /random LGBTQWERTY+ бот 22:57
Оооо, классно! Ура автоматизации мемов!
А ссылка где?
Да я не особо то хотел это в народ пускать. Просто прикалывались с друзьями, ну и новый язык осваивал заодно. Сервака нет, так что запускается вручную на моей машине, а гит показывать как-то стыдно.
фантик показали, а конфету не дали
Такова жизнь.
(Адресовано не автору)
>всё что не текст бот пересылает мне
Накидаем ему дик пиков!
Ну блин, придётся в твиттер выкладывать
это на 25 июля отложи
Йоу, нашел у тебя баг: длинные слова обрезаются по краям. Можно запилить перевод
Да, с длинными словами у него проблема. Там вообще крайне ёбнутый алгоритм выравнивания текста - он накидывает рандомные переносы строк пока всё не начинает помещаться. Ещё длинные тексты обрезаются по вертикали.
Я планирую серьёзно переделать эту штуку и либо переносить такое, либо уменьшать размер текста. Пока вот так.
Как вариант, я бы вывел текст на отдельное пустое (альфа слой), большое изображение, а потом масштабировал его под нужный размер и накладывал сверху.
Да, как вариант. Там ещё можно играться с параметрами текст врапа в Pillow, мб можно даже более красиво всё сделать. Но твоя идея тоже интересная, спасибо! Не факт что врапом смогу
это не проблема, это ещё один уровень всратости. Прям как будто задумано
Планируется ли код в опенсорс? =)
Мне стыдно)
Да лаадно, этож реактор, тут на любой код любитель найдется))
что-то не работает, решил только-что потестить
После размещения поста бота дрочат нон-стоп. С гигом оперла придётся подождать. )=
да, забавное детище) спасибо за развлечение )
Добавь очередь
Она есть. Её и надо подождать)
Пусть хотя бы скажет сколько ещё наркоманов осталось, а то хрен поймёшь работает она или нет...
Там встроенная в тележную апи очередь, я не умею из неё достать сколько наркоманов впереди. )=
Я думаю, что если какая-то значимая доля от сегодняшнего пика останется, кто-нибудь да донатнет, я куплю сервер получше и запилю мультипоток, это должно быть лучше очереди. Мне уже кинули 500 рублей вчера, и я заказал макдак пока фиксил в боте баги. :D
Всё в одном потоке, или каждый запрос в отдельном обрабатывается?
Один поток, сервак с 1-м ядром ЦПУ и 1 гигом оперла.
Я не супер-хорош в многопоточке, я буду пытаться, но хз, выиграет ли это что-то на таком железе и какие проблемы будут с параллельным доступом к базе картинок, которая тупо папка с файлами.
Не знаю на чём ты пишешь, у меня на Go достаточно просто поставить go перед вызовом функции, и вот обработка сообщения происходит где-то там на фоне, а текущая очередь сдвигается дальше.
В нашем GPT боте даже на одном ядре значительно выросла скорость обработки. К тому же. так получилось прикрутить оповещение пользователя, что бот в работе.
Что-то вроде

Отправить сообщение "ожидайте" (сохраняем его id)
Обрабатываем картинку
Отправляем картинку
Удаляем сообщение "ожидайте" по его id

это в отдельной процедуре, которая вызывается в отдельном потоке, в обработке очереди телеги.
Как минимум, все обратившиеся успевают получить "ожидайте"
У меня питон, и я вот прям щас курю манулы по мультитредингу. Кажется, там посложнее, но, вроде, не оч сильно. Ну и да, кажется, надо добавить "ожидайте" чтобы юзер хоть понимал, что бот не мёртв, просто работает.
Тут же просто асинхронности хватит + не надо адово дрочиться с синхронизацией потоков
поправка, он просто глючит*) супстя минуты 3-4 ответил
дайте ссыль на твиттер с лучшим, чёт туплю, найти не могу. пы сы, это прекрасно .
А это, случаем, не ваша группа, или просто тематика общая?
https://vk.com/s_dnem_dnya
Нет, не моя. Надо им кинуть ссылку, кстати, выглядит так, будто их порадует, спасибо)
Я понял вас, я апнул сервер до двух гигов памяти
ну а что хотел
хабраэффект
О нет, всё это время у меня была бага в пересылке, и я не видел что вы мне кидаете кроме открыток Т_Т
Срочно фикшу, пропустил все дикпики
Пофиксил. Если кто-то пнгшки хорошие кидал или что-то ещё важное, оч прошу переслать ещё раз, извиняюсь(
Уровень всратости - моё почтение!
Я сам не ожидал, что так плохо выйдет. На середине работы стало понятно, что я порождаю чудовище, такая радость была))
жабку вместо котика и можно на глагну завтра выкатываться
Добавь поддержку украинского алфавита, типа букв і и є, пожалуйста.
Уже есть в большинстве шрифтов, вроде. По крайней мере, украинские друзья генерили что-то и говорили что норм. И какой-то один шрифт заменяет i на кошечек, лол.
на timeweb можно сервак дёшево взять
ещё можешь с помощью чат гпт переписать на go, чтобы шустрее и многоядерно работало

да вообще кидай ссылку на репозиторий, посмотрим чо можно сделать
насчёт сервака - посмотри в сторону Oracle Always Free. для создания учётки, правда, нужна симка и банковская карта не РФ происхождения. зато там можно выбрать Франкфурт и поднять сервачок на десяток ARM-ядер с вменяемым количеством оперативы (у меня гига 4, кажется). ограничений по трафику тоже нет
Симка и карта есть, к счастью. Посмотрю, спасибо большое за наводку!
немного ошиблась с ядрами/памятью:
для полностью бесплатной конфигурации 4 OCPU (я хз что это, но линукс видит как просто 4 ARM-ядра) и не больше 24Гб оперативы. ну и диска у меня вышло 50Гб.
из минусов, в моём случае - слишком маленькая нагрузка, оракл считает, что инстанст простаивает и дропает его раз в 4-5 месяцев( приходится логиниться в веб-морду и запускать снова
>всё что не текст бот пересылает мне, не кидайте ему личные данные и вот это вот всё
о, очередной конкурс дикпиков что-ли
Чел, это охуенно и то что было нужно в конкретный момент. Готов за бесплатно и отрефакторить / сделать асинхронным, и засунуть в докер и себе на сервера утащить и вообще поделиться опытом в целом
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Сборщик чая Раджа на плантациях Липтон в Индии даже не подозревает что он собирает его с любовью и нежностью. ^гкгЛка.сот
подробнее»

открытки,somee cards по-русски, atkritka.com

Сборщик чая Раджа на плантациях Липтон в Индии даже не подозревает что он собирает его с любовью и нежностью. ^гкгЛка.сот
Дорогой господь Бог, пожалуйста прости лленя... 9 собираюсь греииить на этих выходных, как сукин сын. Г~Т
подробнее»

открытки,somee cards по-русски, atkritka.com

Дорогой господь Бог, пожалуйста прости лленя... 9 собираюсь греииить на этих выходных, как сукин сын. Г~Т
После лоботомии Иван стал как-то проще смотреть на вещи
подробнее»

открытки,somee cards по-русски, atkritka.com

После лоботомии Иван стал как-то проще смотреть на вещи
Как жаль, что вы наконец-то /ходите..tm и зшй w шол timm wn тмит, TOKWObOMtwwMwm.