На развитие канала можно повлиять одной кнопкой))
Голосуйте, мне будет приятно.❤️
https://t.me/boost/system_develop
Голосуйте, мне будет приятно.❤️
https://t.me/boost/system_develop
1❤2
Благодарю за Ваши голоса!
Теперь канал на 3- м уровне!!!⭐️ ⭐️ ⭐️
Ну а мы идём дальше. Предлагаю вам на выбор 3 направления:
1️⃣ Эксперименты:
➡️ Бот-тролль
➡️ Git в Telegram
➡️ Экран смерти
2️⃣ Полезный сервис:
➡️ Свой ВПН (DYI)
➡️ Добить опросник
➡️ Мониторинг цен на товары (Озон/ВБ)
3️⃣Другое:
➡️ Osint
➡️ MiniApp
➡️ ИИ-агент
Ваш выбор очень важен!⬇️ ⬇️ ⬇️
Теперь канал на 3- м уровне!!!
Ну а мы идём дальше. Предлагаю вам на выбор 3 направления:
1️⃣ Эксперименты:
2️⃣ Полезный сервис:
3️⃣Другое:
Ваш выбор очень важен!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3😁2❤1
И с небольшим отрывом побеждает
Ахуенный выбор на самом деле!!!
Я и сам пока не знаю как это всё будет выглядеть)))
Да кстати,помогите пожалуйста с названием нового сервиса!!!
Я не могу выбрать между двумя вариантами:
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Git прямо в Telegram.
Что это будет:
Полноценный контроль версий внутри мессенджера. Инициализация репозиториев, коммиты, ветки, история изменений — всё через бота.
Сейчас:
Проектируем архитектуру. За процессом разработки можно следить здесь
Канал проекта: https://t.me/Git_Gram
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
GitGgram
📁 Git в Telegram
🤖 Бот: @Git_GramBOT
Просто отправь файл боту — код появится здесь.
🤖 Бот: @Git_GramBOT
Просто отправь файл боту — код появится здесь.
👍2🔥1
GitGram: день второй — экранирование это ада🔥
Вчера накидал архитектуру, сегодня начал пилить код. И началось...
Что хотел:
Бот принимает файлы, кидает их в канал с подсветкой синтаксиса. Красота.
Что получил:
Telegram говорит "иди нахуй со своими символами".
Проблема:
Markdown в Telegram требует экранировать специальные символы. А в коде этих символов — дохуя. Точки, подчеркивания, обратные слеши — всё надо экранировать, но так, чтобы сам код не разъебался.
Решение:
Написал свой экранировщик:
Итог:
АААААААА СУКАААА!!!
Весь треш ТУТ😈
#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
Друзья привет всех с Праздником!!⚡️ ⚡️
Среди нас есть дизайнеры или типо того?
Надо логотип сделать!👾
Пишите в лс или в комменты⬇️
Заранее спасибки!!
Среди нас есть дизайнеры или типо того?
Надо логотип сделать!
Пишите в лс или в комменты
Заранее спасибки!!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤨1 1
GitGram: день третий — форматирование снова по пизде 🔥
Вчера почти победил Markdown. Сегодня начал добавлять новый функционал и всё снова разъебалось.
Что добавил:
➡️ Удаление файлов
➡️ Игнорируемые файлы (аналог
➡️ Загрузку проектов целиком через
Что сломалось:
Всё, что связано с форматированием. Опять.
🥲Сначала ZIP-обработчик работал, но файлы в канал уходили без названия и автора. Пофиксил.
😡 Потом упала загрузка обычных файлов — забыл метод в базе данных. Добавил.
🤬 Потом телеграм сам лёг: "Указанное сетевое имя более недоступно". Ну ок, бывает.
Убрал нахуй — работать перестало по-другому. Вернул — опять ошибки с экранированием.
Текущий статус:
💬
💬
Продолжение следует...
#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
GitGram: день 4 Markdown снова ебет мозг 😡
Вчера победил экранирование, сегодня оно вылезло снова.
Что сломалось:
😡
🤬
😡 ZIP не грузился — декоратор накрылся
ФИКС:
➡️ Переписал экранирование во всех командах — теперь каждый текст проходит через
➡️ В
➡️ Убрал отдельный декоратор для ZIP, проверка внутри
➡️ Добавил таблицу
Сейчас работают:
ZIP, ignore, status, commit
Запиливаю:
🟢
🟡
Вся залупа ТУТ
#GitGram
Вчера победил экранирование, сегодня оно вылезло снова.
Что сломалось:
😡
/status и /log упали из-за спецсимволов (Italic entity, тире)/ignored не работал — в БД не обновлялся текущий проектФИКС:
escape_md()/log заменил длинное тире на дефис (телеграм его тоже хочет экранировать)handle_document — заработалоignored_files для .idea/, __pycache__, venv. Пока через пень-колоду, буду доделывать.Сейчас работают:
ZIP, ignore, status, commit
Запиливаю:
/get - чтобы скачивать файлы из БД/cat - чтобы смотреть содержимое в чатеВся залупа ТУТ
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1 1
GitGram: День 5 .Победа над Markdown 👍
Долбоебизм с экранированием достиг апогея. Telegram упорно пытался парсить символы внутри блоков кода, даже когда они были обернуты в
Отправка нормального HTML-кода превратилась в АД.
🔵 Решение: забил нахуй на Markdown для кода.
🔵 Перешел на HTML-форматирование:
🔵 В канал теперь летит
🔵 Пользователю отправляем обычный текст без parse_mode (чтобы точка не бесилась)
🔵 Убрал двойное экранирование и лишние переменные
🔵 Файлы прикрепляются с простым caption
🔵 Парсер отключен = ошибок нет. Код летит с подсветкой, HTML не ломается, точка не ебет мозг.
Но это ещё далеко не всё. Продолжение следует.
https://t.me/Git_Gram - в разработке💬
@Git_GramBOT - в разработке💬
#GitGram
Долбоебизм с экранированием достиг апогея. Telegram упорно пытался парсить символы внутри блоков кода, даже когда они были обернуты в
```. < !DOCTYPE в HTML-файлах триггерил парсер, точки и скобки сыпали ошибками.Отправка нормального HTML-кода превратилась в АД.
<pre><code> с экранированием через safe_html()Но это ещё далеко не всё. Продолжение следует.
https://t.me/Git_Gram - в разработке
@Git_GramBOT - в разработке
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
GitGram: День 6 переходим к веткам 🌳
База готова:
Дальше делаю ветки (
Что будет:
🔄
🔄
🔄
🔄 Коммиты идут в текущую ветку
🔄 В постах канала будет видно, в какой ветке коммит (
Завтра начну — весь процесс будет ЗДЕСЬ
#GitGram
База готова:
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
Вчера ночью случайно закинул свой bot.py в GitGram.
Бот принял, распарсил, запостил превью в канал — и Telegram решил, что это
self-replication или подозрительный спам.Почему TG так реагирует:
антиспам сейчас жёстко ищет паттерны, похожие на вредоносный код или автоматизированное размножение ботов.
Когда бот получает и публично постит код, который выглядит как его собственный (
aiogram, handlers, BOT_TOKEN и т.д.), система видит «бот распространяет свой код» → флаг «потенциальная малварь / спам-бот».Даже если токены отдельно — структура + публичный пост хватило.
Результат:
Сейчас жду оттаивания (обычно 1–3 дня).
Пока основной в коме — ветки пилю на тестовом боте
Не останавливаемся, кодим дальше.
#GitGram
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, а кто на чём пишет код?)
Anonymous Poll
28%
PyCharm
56%
VSCode
4%
Блокнот
12%
Иди на хуй, я ваще не прогер
⚡2
Gitgram — ветки напилены 🪵
Что сделано сегодня:
⏺ Добавлено поле
⏺ Создана таблица
➡️ Написана функция
➡️ Реализована команда
➡️ Реализована команда
➡️ Реализована команда /
Баг и фикс
Вылетел sqlite3.OperationalError: no such column: current_branch🤬
Решение: удалил старую базу, запустил бота заново — колонка добавилась автоматически.👾
Тесты
Создал ветку test → переключился → всё работает заебись⚡️
Скриншоты тестов в чате
Далее создам функцию
#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
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_diff — unified diff через difflib с обрезкой на 30 строк и форматированием/diff берёт две последние версии и выводит diff в ```diff🐞Баги сегодня:
current_project не устанавливался после /initФикс:
db.set_current_project сразу после создания проекта в cmd_init.Теперь работает нормально.
Дальше права доступа.
Вся кухня в sandbox
#Gitgram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2 1
Ребят,среди нас есть кто сидит в Discord?
Anonymous Poll
32%
Да,постоянно
41%
Иногда захожу
27%
А что это?
This media is not supported in your browser
VIEW IN TELEGRAM
GitGram: запуск бета-теста (v0.1)
Основные возможности:
загрузка файлов / ZIP → добавление с обработкой
Как подключиться:
@Git_GramBOT
загружайте файлы, тестируйте команды
БАГИ : @sandbox_hardcore
#Gitgram
Основные возможности:
/init <имя> — создание проекта и тредазагрузка файлов / ZIP → добавление с обработкой
.gitignore/commit <сообщение> — фиксация изменений + пост в канал/ls — список файлов/status — статус изменений/diff <файл> — unified diff между версиями/branch <имя>, /checkout <имя> — создание и переключение веток/branches — список ветокКак подключиться:
@Git_GramBOT
/start
/init test_project
загружайте файлы, тестируйте команды
БАГИ : @sandbox_hardcore
#Gitgram
