СИСТЕМА
1.31K subscribers
213 photos
21 videos
9 files
214 links
Пилим софт 🔧
#боты #проги #код
Download Telegram
Друзья привет всех с Праздником!!⚡️⚡️

Среди нас есть дизайнеры или типо того?
Надо логотип сделать!
👾
Пишите в лс или в комменты
⬇️
Заранее спасибки!!
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%
А что это?
This media is not supported in your browser
VIEW IN TELEGRAM
GitGram: запуск бета-теста (v0.1)

Основные возможности:

/init <имя> — создание проекта и треда
загрузка файлов / ZIP → добавление с обработкой .gitignore
/commit <сообщение> — фиксация изменений + пост в канал
/ls — список файлов
/status — статус изменений
/diff <файл> — unified diff между версиями
/branch <имя>, /checkout <имя> — создание и переключение веток
/branches — список веток

Как подключиться:

@Git_GramBOT
/start

/init test_project

загружайте файлы, тестируйте команды

БАГИ : @sandbox_hardcore
#Gitgram
211
Ребята, может кто не понял, уточню.
Когда вы закидываете файл или создаете проект,делаете коммит и тд, в боте
@Git_GramBOT,
всё это отображается в канале
https://t.me/Git_Gram, а не чате с ботом.
СИСТЕМА pinned Deleted message
👌 Думаю пришло время выбрать новое направление! 👌

Друзья приглашаю вас на новое голосование!

Предлагаю 3 варианта:

1️⃣Свой ВПН (актуалочка) 📶

2️⃣ Бот в Дискорд (тоже актуалочка в принципе) 📱

3️⃣ Интерактивная карта подписчиков (Дичь полная, но очень прикольно для админов, визуал аудитории, плюс можно будет наприме взрывать не активных! 💥

Если какие-то варианты не понятны, пишите в комменты!))
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Друзья, срочно нужно ваше мнение!⚡️

Стоит ли мне со своими разработками и контентом переходить на МАКС?
Не уйти полностью а вести там параллельно канал!
Просто как будто народу в ТГ всё меньше и меньше((
Или это не ТРУ нихуя?)))
В общем скажите что думаете!))
⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM