CodeShadow – Telegram
CodeShadow
76 subscribers
182 photos
11 videos
7 files
128 links
👋 Я Артемий — преподаватель Python и фрилансер.

💻 Показываю, как код и нейросети помогают зарабатывать и упрощать работу.

🚀 Делюсь проектами, опытом и лайфхаками из реальной практики.

✍🏻 Вопросы и идеи: @MifmanRu
Download Telegram
📄 Полезный скрипт: сбор данных с сайта в Excel

Нужно собрать данные и сохранить их в таблицу:

code
import requests
from bs4 import BeautifulSoup
import openpyxl

res = requests.get("
soup = BeautifulSoup(res.text, "html.parser")
quotes = soup.find_all("span", class_="text")

wb = openpyxl.Workbook()
ws = wb.active

for i, q in enumerate(quotes, 1):
ws[f"A{i}"] = q.text

wb.save("quotes.xlsx")
💬 Фриланс: как вести себя с заказчиком?

1. Никогда не обещай того, чего не сделаешь.
2. Пиши простым языком: без жаргона, заказчику не интересны “декораторы”.
3. Предлагай решения, а не просто исполняй команды.

Уважительное общение = повторные заказы + хорошие отзывы.
📊 Полезный скрипт: конвертер валют с API

Сравни валюты с помощью ExchangeRate API:

code
import requests

res = requests.get("
data = res.json()
eur = data["rates"]["EUR"]
print("1 USD =", eur, "EUR")


Можно добавить GUI, бота, или автоотчёт по курсам.
📌 Автоматизация: загрузка файлов с FTP

Сценарий: нужно каждый день забирать отчёты с FTP-сервера.

code
from ftplib import FTP

ftp = FTP("ftp.example.com")
ftp.login("user", "password")
ftp.cwd("/reports")

with open("report.csv", "wb") as f:
ftp.retrbinary("RETR report.csv", f.write)

ftp.quit()
💡 Фриланс-лайфхак: использовать Telegram-бота как CRM

Создай себе Telegram-бота, который:
- сохраняет заказы и дедлайны
- напоминает о платежах
- уведомляет об ответах на биржах

Мини-CMS прямо в Telegram. Можно сделать с помощью aiogram и SQLite.
🤖 Автоматизация: распознавание текста на изображениях

Когда присылают скан вместо Excel, выручает OCR:

code
import pytesseract
from PIL import Image

img = Image.open("invoice.jpg")
text = pytesseract.image_to_string(img, lang="rus")
print(text)


Работает отлично с квитанциями, актами, сканами.
🚀 Фриланс-лайфхак: ускорение откликов с помощью Python

Хочешь первым отвечать на заявки? Используй скрипт:

- мониторит страницу с заказами
- парсит HTML
- присылает тебе уведомление в Telegram

Это может дать тебе +3-5 заказов в месяц. Пишите — подскажу шаблон.
📋 Автоматизация: перенос данных из Google Sheets в PostgreSQL

code
import gspread
import psycopg2
from oauth2client.service_account import ServiceAccountCredentials

scope = ["
creds = ServiceAccountCredentials.from_json_keyfile_name("cred.json", scope)
client = gspread.authorize(creds)

sheet = client.open("report").sheet1
rows = sheet.get_all_values()[1:]

conn = psycopg2.connect("dbname=test user=postgres")
cur = conn.cursor()
cur.executemany("INSERT INTO stats (col1, col2) VALUES (%s, %s)", rows)
conn.commit()
📦 Фриланс-лайфхак: создавай библиотеку своих решений

Сделай папку:
- email_sender.py
- parser_template.py
- image_resizer.py
- invoice_generator.py

Ты сэкономишь часы на следующем проекте. Это твоя личная "фабрика кода".
🧹 Автоматизация: удаление старых файлов

Подходит для серверов, папок с логами и видео:

code
import os
import time

folder = "downloads"
now = time.time()

for f in os.listdir(folder):
path = os.path.join(folder, f)
if os.path.isfile(path) and now - os.path.getmtime(path) > 7 * 86400:
os.remove(path)
print("Удалено:", f)
📊 Фриланс-лайфхак: визуализируй результат для клиента

Иногда график лучше, чем 100 строк логов.
Сделал парсер? Покажи не только .csv, но и график в PNG.
Клиент это оценит — и даст тебе следующий проект.
🧾 Автоматизация: генерация PDF-счёта

code
from fpdf import FPDF

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Счёт на оплату", ln=1, align="C")
pdf.cell(200, 10, txt="Итого: 12 000 руб", ln=2)
pdf.output("invoice.pdf")


Отправка счёта — один импорт.
🤖 Что у меня сейчас происходит?

Работаю над Telegram-ботом, который автоматически рассылает посты по группам. Всё привязано к базе данных через Supabase: тексты, изображения, список каналов — всё подгружается динамически.

Посты отправляются ежедневно, в заданное время. Даже можно настроить через команду в Telegram — бот слушает /settime прямо в личке 👇

@client.on(events.NewMessage(pattern='/settime (\\d{1,2}:\\d{2})'))
async def set_time_handler(event):
time_str = event.pattern_match.group(1)
hour, minute = map(int, time_str.split(':'))
self.send_time = time(hour, minute)
await event.respond(f" Время рассылки установлено на {time_str}")


📦 Параллельно бот вытаскивает медиа и текст из Supabase, а затем рассылает случайный пост в заданные чаты — или просто текст, если изображения не загружены.

Уже работает автопланировщик и автообновление данных. Осталось допилить механику ручного запуска и добавить логирование рассылок.

#CodeShadow #DevLog #TelegramBot #Python #Фриланс
💬 Фриланс-лайфхак: добавь инструкцию к каждому проекту

В файл README.txt или Telegram-сообщение. Напиши:

- как запустить
- где логин/пароль
- что не трогать

Заказчику будет приятно, а ты избежишь кучи лишних вопросов.
🚀 Почему стоит учить Python в 2025?

Python — язык, на котором можно всё:
- писать ботов
- автоматизировать задачи
- создавать сайты и парсеры
- анализировать данные

Благодаря огромному количеству библиотек ты не ограничен ничем.
🌱 Хочешь стать программистом — начни с малого

Миф: нужно сразу делать сайты, боты, нейросети.
Правда: напиши 5 простых скриптов, чтобы автоматизировать то, что тебе знакомо.

Пример:
- скопировать файлы
- переименовать изображения
- получить погоду

Вот и первый шаг в IT.
🔥 Python — твой билет к фрилансу

Ты можешь не быть “программистом”.
Но зная Python, ты можешь:
- автоматизировать рутину
- брать простые заказы на фрилансе
- создать Telegram-бота и продавать доступ к нему

Это не магия. Это реальность. И она доступна тебе.
🎯 Учёба Python ≠ сидеть за туториалами

Ты можешь:
- участвовать в марафонах
- писать проекты на заказ
- помогать друзьям писать скрипты
- вести Telegram-канал о Python

Это даст мотивацию и ускорит рост в 10 раз.
🏗️ Почему программист — не просто кодер

Программист — это:
- творец (создаёт)
- исследователь (разбирается в новых задачах)
- архитектор (планирует и масштабирует)

Python даёт всё, чтобы пройти этот путь — от Hello World до запуска собственного сервиса.
🔄 Скрипт: автоматическая переименовка файлов

code
import os

for i, f in enumerate(os.listdir()):
if f.endswith(".jpg"):
os.rename(f, f"image_{i+1}.jpg")


Удобно для приведения порядка в фото, логах, загрузках.
🤖 Апдейт по боту для авторассылки

Допилил ручной запуск и логирование:

/send_now — отправить посты сразу (даже вне расписания).

API-триггер — можно дергать из n8n/Zapier.

Логи в файл: что куда ушло и какие ошибки.

Что дальше?
▫️ Веб-панель на Flask
▫️ Очереди с интервалами
▫️ GPT для генерации текстов

Какой функционал добавили бы вы? Пишите в комменты!

#CodeShadow #Python #TelegramBot