СИСТЕМА
1.31K subscribers
213 photos
21 videos
9 files
214 links
Пилим софт 🔧
#боты #проги #код
Download Telegram
Деплоить эту шляпу я конечно не стал,та на компе запустил на пару часов,можете потыкать)):
@QR_FUCKING_BOT
Полный код если кому-то интересно:
https://t.me/sandbox_hardcore/109
На развитие канала можно повлиять одной кнопкой))
Голосуйте, мне будет приятно.❤️


https://t.me/boost/system_develop
12
Благодарю за Ваши голоса!

Теперь канал на 3- м уровне!!!⭐️⭐️⭐️

Ну а мы идём дальше. Предлагаю вам на выбор 3 направления:

1️⃣ Эксперименты:

➡️Бот-тролль
➡️Git в Telegram
➡️Экран смерти

2️⃣ Полезный сервис:

➡️Свой ВПН (DYI)
➡️Добить опросник
➡️Мониторинг цен на товары (Озон/ВБ)

3️⃣Другое:

➡️Osint
➡️MiniApp
➡️ИИ-агент

Ваш выбор очень важен!⬇️⬇️⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3😁21
🔒 Что мы будем запиливать (Опрос завершен)
❤‍🔥3🔥2🤔1
⚡️ГОЛОСОВАНИЕ ОКОНЧЕНО!⚡️

И с небольшим отрывом побеждает
👉👉👉Git в Телеграмм👈👈👈

Ахуенный
выбор на самом деле!!!
Я и сам пока не знаю как это всё будет выглядеть)))

Да кстати,помогите пожалуйста с названием нового сервиса!!!
Я не могу выбрать между двумя вариантами:
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Между этими:
Anonymous Poll
32%
TGit
68%
Gitgram
👾 НАЧИНАЕМ РАЗРАБОТКУ GITGRAM

Git прямо в Telegram.

Что это будет:
Полноценный контроль версий внутри мессенджера. Инициализация репозиториев, коммиты, ветки, история изменений — всё через бота.
💬Репозитории живут в Telegram-канале как отдельные треды
💬Код с подсветкой синтаксиса и навигацией по версиям
💬Управление проектами с телефона без терминала и IDE

Сейчас:
Проектируем архитектуру. За процессом разработки можно следить здесь

Канал проекта: https://t.me/Git_Gram

#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
GitGram: день второй — экранирование это ада🔥

Вчера накидал архитектуру, сегодня начал пилить код. И началось...

Что хотел:
Бот принимает файлы, кидает их в канал с подсветкой синтаксиса. Красота.

Что получил:
Telegram говорит "иди нахуй со своими символами".

Проблема:
Markdown в Telegram требует экранировать специальные символы. А в коде этих символов — дохуя. Точки, подчеркивания, обратные слеши — всё надо экранировать, но так, чтобы сам код не разъебался.

Решение:
Написал свой экранировщик:

# Сначала экранируем точки и подчеркивания
content = content.replace('.', '\\.')
content = content.replace('_', '\\_')
# Потом обратную косую черту
content = content.replace('\\', '\\\\')


Итог:

aiogram.exceptions.TelegramBadRequest: Telegram server says - Bad Request: can't parse entities: Character '.' is reserved and must be escaped with the preceding '\'

АААААААА СУКАААА!!!

Весь треш ТУТ😈

#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍11
Друзья привет всех с Праздником!!⚡️⚡️

Среди нас есть дизайнеры или типо того?
Надо логотип сделать!
👾
Пишите в лс или в комменты
⬇️
Заранее спасибки!!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤨11
СИСТЕМА pinned «Друзья привет всех с Праздником!!⚡️⚡️ Среди нас есть дизайнеры или типо того? Надо логотип сделать!👾 Пишите в лс или в комменты⬇️ Заранее спасибки!!»
GitGram: день третий — форматирование снова по пизде 🔥

Вчера почти победил Markdown. Сегодня начал добавлять новый функционал и всё снова разъебалось.

Что добавил:

➡️Удаление файлов (/rm) и проектов (/rmproject)
➡️Игнорируемые файлы (аналог .gitignore)
➡️Загрузку проектов целиком через ZIP

Что сломалось:

Всё, что связано с форматированием. Опять.

🥲Сначала ZIP-обработчик работал, но файлы в канал уходили без названия и автора. Пофиксил.
😡Потом упала загрузка обычных файлов — забыл метод в базе данных. Добавил.
🤬Потом телеграм сам лёг: "Указанное сетевое имя более недоступно". Ну ок, бывает.

content = escape_markdown_v2(content)  # ← ЭТА ХУЙНЯ ВСЁ ЛОМАЕТ

Убрал нахуй — работать перестало по-другому. Вернул — опять ошибки с экранированием.

Текущий статус:

💬/rm и /rmproject работают (с подтверждением, чтобы случайно не выпилить проект)
💬.gitignore, ZIP сделал но не тестил,не дошёл

Продолжение следует...

#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
3😢1
GitGram: день 4 Markdown снова ебет мозг 😡

Вчера победил экранирование, сегодня оно вылезло снова.

Что сломалось:

😡/status и /log упали из-за спецсимволов (Italic entity, тире)

🤬/ignored не работал — в БД не обновлялся текущий проект

😡ZIP не грузился — декоратор накрылся

ФИКС:

➡️Переписал экранирование во всех командах — теперь каждый текст проходит через escape_md()
➡️В /log заменил длинное тире на дефис (телеграм его тоже хочет экранировать)
➡️Убрал отдельный декоратор для ZIP, проверка внутри handle_document — заработало
➡️Добавил таблицу ignored_files для .idea/, __pycache__, venv. Пока через пень-колоду, буду доделывать.

Сейчас работают:
ZIP, ignore, status, commit
Запиливаю:
🟢/get - чтобы скачивать файлы из БД
🟡 /cat - чтобы смотреть содержимое в чате

Вся залупа ТУТ
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
GitGram: День 5 .Победа над Markdown 👍

Долбоебизм с экранированием достиг апогея. Telegram упорно пытался парсить символы внутри блоков кода, даже когда они были обернуты в ```. < !DOCTYPE в HTML-файлах триггерил парсер, точки и скобки сыпали ошибками.
Отправка нормального HTML-кода превратилась в АД.

🔵Решение: забил нахуй на Markdown для кода.

🔵Перешел на HTML-форматирование:

🔵В канал теперь летит <pre><code> с экранированием через safe_html()

🔵Пользователю отправляем обычный текст без parse_mode (чтобы точка не бесилась)

🔵Убрал двойное экранирование и лишние переменные

🔵Файлы прикрепляются с простым caption

🔵Парсер отключен = ошибок нет. Код летит с подсветкой, HTML не ломается, точка не ебет мозг.

Но это ещё далеко не всё. Продолжение следует.
https://t.me/Git_Gram - в разработке💬
@Git_GramBOT - в разработке💬

#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
2
GitGram: День 6 переходим к веткам 🌳

База готова: init, commit, ls, status, log, ZIP с .gitignore — всё работает.
Дальше делаю ветки (branches) — чтобы можно было пилить фичи параллельно, не ломая основную ветку.
Что будет:

🔄/branch create имя — создаёт новую ветку
🔄/branch switch имя — переключаешься на ветку
🔄/branch list — показывает все ветки проекта
🔄Коммиты идут в текущую ветку
🔄В постах канала будет видно, в какой ветке коммит ([main], [feature-parser] и т.д.)


Завтра начну — весь процесс будет ЗДЕСЬ
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
21
💀БОТ СЪЕЛ САМ СЕБЯ И СДОХ НАХУЙ💀

Вчера ночью случайно закинул свой bot.py в GitGram.
Бот принял, распарсил, запостил превью в канал — и Telegram решил, что это self-replication или подозрительный спам.

Почему TG так реагирует:
антиспам сейчас жёстко ищет паттерны, похожие на вредоносный код или автоматизированное размножение ботов.
Когда бот получает и публично постит код, который выглядит как его собственный (aiogram, handlers, BOT_TOKEN и т.д.), система видит «бот распространяет свой код» → флаг «потенциальная малварь / спам-бот».
Даже если токены отдельно — структура + публичный пост хватило.
Результат:

выкинуло со всех сессий
зашёл заново — ок
бот стал ghost с ❄️ и «Аккаунт заморожен»
писать нельзя, профиль удалённый

Сейчас жду оттаивания (обычно 1–3 дня).
Пока основной в коме — ветки пилю на тестовом боте
Не останавливаемся, кодим дальше.

😾Мне ваще похуй все блокировки,я всегда найду выход!😾

#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤣2🥰1🎃11
Друзья, а кто на чём пишет код?)
Anonymous Poll
28%
PyCharm
56%
VSCode
4%
Блокнот
12%
Иди на хуй, я ваще не прогер
2
Gitgram — ветки напилены 🪵

Что сделано сегодня:

Добавлено поле current_branch в таблицу projects
Создана таблица branches:

CREATE TABLE branches (
id INTEGER PRIMARY KEY AUTOINCREMENT,
project_id INTEGER,
name TEXT,
created_at TIMESTAMP,
FOREIGN KEY(project_id) REFERENCES projects(id)
)

➡️ Написана функция get_current_branch(project_id) — возвращает текущую ветку (по умолчанию main)
➡️Реализована команда /branches — выводит список всех веток проекта + отмечает текущую. Если веток нет — автоматически создаёт main
➡️Реализована команда /branch <name> — создаёт новую ветку (с проверкой на существование)
➡️Реализована команда /checkout <name> — переключает на указанную ветку (обновляет current_branch)

Баг и фикс
Вылетел sqlite3.OperationalError: no such column: current_branch🤬
Решение: удалил старую базу, запустил бота заново — колонка добавилась автоматически.👾
Тесты
Создал ветку test → переключился → всё работает заебись ⚡️
Скриншоты тестов в чате


Далее создам функцию diff
#Gitgram
Please open Telegram to view this post
VIEW IN TELEGRAM
31
Channel photo updated
👌 /diff заработал 👌

Добавил get_file_versions в БД — все версии файла с содержимым и коммитами.
def get_file_versions(self, project_id, filename):
"""Возвращает все версии файла"""
with sqlite3.connect(self.db_path) as conn:
c = conn.cursor()
c.execute("""
SELECT fv.id, fv.content, fv.version_number, fv.commit_id, c.message, c.timestamp
FROM file_versions fv
LEFT JOIN commits c ON fv.commit_id = c.id
WHERE fv.file_id = (SELECT id FROM files WHERE project_id = ? AND filename = ?)
ORDER BY fv.version_number DESC
""", (project_id, filename))
return c.fetchall()


Создал create_pretty_diffunified diff через difflib с обрезкой на 30 строк и форматированием

Команда /diff берёт две последние версии и выводит diff в ```diff

🐞Баги сегодня:

current_project не устанавливался после /init
файл без проекта → новый проект с именем файла
удалил БД → забыл /start → юзер не существует в базе

Фикс: db.set_current_project сразу после создания проекта в cmd_init.
Теперь работает нормально.
Дальше права доступа.
Вся кухня в
sandbox

#Gitgram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
Ребят,среди нас есть кто сидит в Discord?
Anonymous Poll
32%
Да,постоянно
41%
Иногда захожу
27%
А что это?