ChannelOffer-main.zip
9 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram
📂 База данных: sqlite3
Основные функции:
📨 Прием предложений (текст/фото) от пользователей
🔔 Уведомления автора о решении модератора
💻 Панель управления для администраторов:
Просмотр новых заявок
Одобрение/отклонение контента
📢 Автоматическая публикация одобренных постов в канал
📊 Логирование действий в боте
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
✔ Учёба (модули, курсы, темы)
✔ Фитнес-планы, диеты, повседневные дела
✔ “Что посмотреть/прочитать/попробовать”
✔ Оффлайн-трекер без регистрации и сайтов
import json
import os
FILENAME = "checklist.json"
def load_tasks():
if os.path.exists(FILENAME):
with open(FILENAME, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save_tasks(tasks):
with open(FILENAME, "w", encoding="utf-8") as f:
json.dump(tasks, f, ensure_ascii=False, indent=2)
def show_tasks(tasks):
if not tasks:
print("📭 Список пуст.")
return
for i, task in enumerate(tasks):
mark = "✅" if task["done"] else "⬜"
print(f"{i+1}. {mark} {task['title']}")
def main():
tasks = load_tasks()
while True:
print("\n📋 Чеклист:")
show_tasks(tasks)
print("\n1. Добавить 2. Отметить выполненным 3. Удалить 4. Выйти")
choice = input("Выбор: ")
if choice == "1":
title = input("Введите задачу: ")
tasks.append({"title": title, "done": False})
elif choice == "2":
index = int(input("Номер задачи: ")) - 1
if 0 <= index < len(tasks):
tasks[index]["done"] = True
elif choice == "3":
index = int(input("Номер задачи: ")) - 1
if 0 <= index < len(tasks):
del tasks[index]
elif choice == "4":
break
else:
print("❌ Неверный выбор.")
save_tasks(tasks)
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
💾 Nbconvert
🔍 Особенности:
📊 Позволяет делиться результатами анализа, моделей и графиков — красиво и понятно
🧠 Используется в научной среде, бизнес-отчётах, образовании
🎯 Поддерживает автоматизацию: из ноутбука → в PDF отчёт → по email
⚙️ Установка 👇👇👇
pip install nbconvert
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
telegram-form-bot-main.zip
9.3 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram
📂 База данных: aiosqlite
🚀 Возможности:
- Приём заявок от пользователей
- Уведомление администратора о новых заявках
- Просмотр всех заявок через админ-панель
- Получение подробной информации по заявке
- Удаление заявок
- Использование базы данных SQLite
- Разделение логики на пользователя и администратора
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥1
✔ Хранить, что ты уже посмотрел
✔ Планировать, что хочешь посмотреть
✔ Оценивать и сортировать любимые фильмы
✔ Делать личную “кинобазу”
import json
import os
from tabulate import tabulate
FILENAME = "movies.json"
def load():
if os.path.exists(FILENAME):
with open(FILENAME, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save(movies):
with open(FILENAME, "w", encoding="utf-8") as f:
json.dump(movies, f, ensure_ascii=False, indent=2)
def display(movies, only=None):
table = []
for m in movies:
if only and m["status"] != only:
continue
table.append([m["title"], m["year"], m["rating"], m["status"]])
print(tabulate(table, headers=["Название", "Год", "Рейтинг", "Статус"]))
def main():
movies = load()
while True:
print("\n🎞️ Личный каталог фильмов")
print("1. Добавить фильм\n2. Показать всё\n3. Только 'посмотрено'\n4. Только 'хочу'\n5. Поиск\n6. Выход")
choice = input("Выбор: ")
if choice == "1":
title = input("Название: ")
year = input("Год: ")
rating = input("Оценка (0–10): ")
status = input("Статус (🎬 посмотрено / 📌 хочу посмотреть): ")
movies.append({"title": title, "year": year, "rating": rating, "status": status})
save(movies)
elif choice == "2":
display(movies)
elif choice == "3":
display(movies, only="🎬 посмотрено")
elif choice == "4":
display(movies, only="📌 хочу посмотреть")
elif choice == "5":
q = input("Поиск по названию: ").lower()
found = [m for m in movies if q in m["title"].lower()]
display(found)
elif choice == "6":
break
else:
print("❌ Неверный выбор.")
main()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
💾 Notify_py
🔍 Особенности:
🧠 Уведомления без необходимости открывать окно или писать GUI
💡 Отлично подходит для фоновых скриптов, резервного копирования, напоминаний
💬 Альтернатива print() + звуку, особенно для долгих процессов
📦 Простая установка, работает даже в venv
⚙️ Установка 👇👇👇
pip install notify_py
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6
Combot-telegram-channel-parser-main.zip
7.6 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: requests, bs4
📂 База данных: sqlite3
Особенности:
-Сбор информации о чатах (название, юзернейм, количество участников, язык, изображение и т.д.).
- Сохранение данных в базу данных SQLite.
- Парсинг данных с сайта через API с использованием BeautifulSoup и requests.
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1😁1
✔ Распечатка планов, расписаний, вешать на стену
✔ Создание расписания для семьи, школы, спорта
✔ Ведение задач и контроль сроков вручную
import calendar
import matplotlib.pyplot as plt
def generate_month_calendar(year, month):
cal = calendar.monthcalendar(year, month)
days = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"]
fig, ax = plt.subplots(figsize=(10, 6))
ax.set_axis_off()
table = ax.table(cellText=cal,
colLabels=days,
cellLoc='center',
loc='upper center')
table.scale(1, 2)
for i in range(len(cal)):
for j in [5, 6]: # Выделим сб/вс
cell = table[i + 1, j]
if cell.get_text().get_text().strip():
cell.set_facecolor("#ffe0e0")
plt.title(f"{calendar.month_name[month]} {year}", fontsize=20)
plt.savefig(f"calendar_{month}_{year}.png", bbox_inches='tight')
print(f"✅ Календарь сохранён: calendar_{month}_{year}.png")
# Пример использования
generate_month_calendar(2025, 6)
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍14❤3
💾 Bandit
🔍 Особенности:
🛡 Позволяет находить проблемы до деплоя
📦 Используется в промышленной разработке, безопасных API
🔍 Совместим с другими линтерами (flake8, black, mypy)
✅ Работает быстро, легко автоматизируется
⚙️ Установка 👇👇👇
pip install bandit
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6🔥2
Единственный канал где делимся готовыми скриптами на Python 🚀 по крипто тематике абсолютно бесплатно 💸 :
👇👇👇
- Никакой воды🚀
- Алготрейдинг🤖
- Работа с API бирж, агрегаторов💻
- Автоматизации📈
Подпишись и пользуйся -> Crypto Python
👇👇👇
- Никакой воды
- Алготрейдинг
- Работа с API бирж, агрегаторов
- Автоматизации
Подпишись и пользуйся -> Crypto Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4🔥2
django_aiogram_postgres-main.zip
38.2 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, django, requests
📂 База данных: postgresql
Проект включает:
- Django-панель администратора
Telegram-бота (aiogram)
- PostgreSQL в качестве базы данных
- Интеграцию с Юкассой
- Проверку подписки на канал и группу
- Docker-окружение
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤4
✔ Контроль доступа (дом, офис)
✔ Ведение журнала посещений
✔ Умный дом: "включить свет, если я"
✔ DIY-система безопасности
import face_recognition
import cv2
import os
from datetime import datetime
KNOWN_DIR = "known_faces"
log_file = "face_log.txt"
known_encodings = []
known_names = []
# Загружаем известные лица
for filename in os.listdir(KNOWN_DIR):
image = face_recognition.load_image_file(os.path.join(KNOWN_DIR, filename))
encoding = face_recognition.face_encodings(image)[0]
known_encodings.append(encoding)
known_names.append(os.path.splitext(filename)[0])
# Запускаем веб-камеру
video = cv2.VideoCapture(0)
print("🧠 Распознавание началось. Нажми Q для выхода.")
while True:
ret, frame = video.read()
rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
faces = face_recognition.face_locations(rgb)
encodings = face_recognition.face_encodings(rgb, faces)
for (top, right, bottom, left), encoding in zip(faces, encodings):
matches = face_recognition.compare_faces(known_encodings, encoding)
name = "Неизвестен"
if True in matches:
idx = matches.index(True)
name = known_names[idx]
with open(log_file, "a", encoding="utf-8") as f:
f.write(f"{datetime.now()}: {name} замечен\n")
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, name, (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (255, 255, 255), 2)
cv2.imshow("📷 Распознавание лиц", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍6
💾 Python-gnupg
🔍 Особенности:
🔐 Безопасная передача и хранение данных
📩 Подходит для email-систем, CLI-утилит, зашифрованных отчётов
🧠 Простая интеграция с существующими пайплайнами и файловыми системами
📦 Полноценный PGP-протокол из Python — без ручного шифрования
⚙️ Установка 👇👇👇
pip install python-gnupg
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2😁1
wg-pay-bot-master.zip
88.2 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, django, requests
📂 База данных: sqlite3
Он может автоматически подключать и отключать пользователей, генерировать QR-коды для мобильных клиентов, а также может использоваться в качестве платежной системы для VPN-сервисов.
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥6❤2
✔ Анализ времени за работой / YouTube / мессенджерами
✔ Осознанность и контроль продуктивности
✔ Личное “времяучёт” без тайм-трекеров и облаков
✔ Самодисциплина без сторонних сервисов
import win32gui
import time
from collections import defaultdict
import matplotlib.pyplot as plt
usage = defaultdict(int)
start = time.time()
print("🎯 Начался трекинг активности. Для остановки — Ctrl+C")
try:
while True:
hwnd = win32gui.GetForegroundWindow()
title = win32gui.GetWindowText(hwnd)
if title:
usage[title] += 1
time.sleep(1)
except KeyboardInterrupt:
print("\n📝 Сбор завершён")
# Отображение отчёта
sorted_usage = sorted(usage.items(), key=lambda x: -x[1])[:10]
labels = [k[:30] + "..." if len(k) > 30 else k for k, _ in sorted_usage]
values = [v for _, v in sorted_usage]
plt.figure(figsize=(10, 6))
plt.barh(labels[::-1], values[::-1])
plt.title("⏱️ Топ-используемые окна")
plt.xlabel("Секунды активности")
plt.tight_layout()
plt.savefig("activity_report.png")
print("📊 Отчёт сохранён: activity_report.png")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
💾 Keyring
🔍 Особенности:
🔐 Безопаснее .env и config-файлов
🧠 Работает нативно с системами, без лишнего GUI
📦 Подходит для интеграции с любыми API, ботами, cron-скриптами
🎯 Скрыт от пользователя и защищён на уровне ОС
⚙️ Установка 👇👇👇
pip install keyring
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥3👏1
hr-screening-bot-master.zip
5.6 MB
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pypdf
📂 База данных: postgresql
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
✔ Учёба: быстро “увидеть” структуру темы
✔ Анализ видео, книг, уроков
✔ Самообразование — делать себе шпаргалки
✔ Создание презентаций и материалов для других
import networkx as nx
import matplotlib.pyplot as plt
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
from collections import defaultdict
import string
TEXT = """
Python is a powerful language for automation, web development, data science, and machine learning.
It supports many libraries like NumPy, Pandas, Flask, and TensorFlow.
Python is known for its readability and simplicity.
"""
def extract_keywords(text):
stop_words = set(stopwords.words("english"))
words = word_tokenize(text.lower())
words = [w for w in words if w.isalnum() and w not in stop_words]
freq = defaultdict(int)
for w in words:
freq[w] += 1
return sorted(freq.items(), key=lambda x: -x[1])[:10]
def build_mind_map(text):
keywords = [kw for kw, _ in extract_keywords(text)]
sentences = sent_tokenize(text)
G = nx.Graph()
G.add_node("Main Idea")
for kw in keywords:
G.add_node(kw)
G.add_edge("Main Idea", kw)
for s in sentences:
if kw in s.lower():
for sub_kw in word_tokenize(s.lower()):
if sub_kw not in keywords and sub_kw.isalnum():
G.add_node(sub_kw)
G.add_edge(kw, sub_kw)
return G
def draw_mind_map(G):
pos = nx.spring_layout(G, k=0.6)
plt.figure(figsize=(12, 8))
nx.draw(G, pos, with_labels=True, node_color="lightblue", node_size=2000, font_size=10, edge_color="gray")
plt.title("🧠 Mind Map", fontsize=20)
plt.savefig("mind_map.png")
print("✅ Карта сохранена в mind_map.png")
G = build_mind_map(TEXT)
draw_mind_map(G)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7🔥4👏1
💾 Dynaconf
🔍 Особенности:
🔒 Упрощает безопасную работу с настройками
🧩 Идеален для приложений с разными режимами (dev/test/prod)
📦 Мощнее .env, но так же прост в использовании
🎯 Применим и в скриптах, и в микросервисах
⚙️ Установка 👇👇👇
pip install dynaconf
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤2🥰1👏1🤩1
✔ Диагностика “почему тормозит ноутбук”
✔ Анализ фона: какие приложения грузят процессор
✔ Оптимизация работы при автономной работе (ноут, сервер)
✔ Визуализация профиля потребления во времени
import psutil
import time
import matplotlib.pyplot as plt
cpu_usage = []
power_usage = []
timestamps = []
print("📊 Мониторинг запущен (Ctrl+C для завершения)")
try:
start = time.time()
while True:
cpu = psutil.cpu_percent(interval=1)
mem = psutil.virtual_memory().percent
disk = psutil.disk_io_counters().read_bytes + psutil.disk_io_counters().write_bytes
net = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
# Примерная модель энергопотребления (непрямая)
power = 0.5 * cpu + 0.3 * mem + 0.000001 * (disk + net)
timestamp = round(time.time() - start, 1)
timestamps.append(timestamp)
cpu_usage.append(cpu)
power_usage.append(power)
print(f"{timestamp}s ⏱️ CPU: {cpu}% | Mem: {mem}% | Power: ~{round(power, 2)}")
except KeyboardInterrupt:
print("🛑 Мониторинг завершён.")
# График энергопотребления
plt.figure(figsize=(10, 5))
plt.plot(timestamps, power_usage, label="Оценка энергопотребления")
plt.xlabel("Время (сек)")
plt.ylabel("Относительная нагрузка")
plt.title("⚡ Профиль энергопотребления")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.savefig("power_profile.png")
print("📈 График сохранён: power_profile.png")
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6❤2🔥2😁1
💾 Sounddevice
🔍 Особенности:
🎧 Позволяет делать голосовых ботов, анализаторов речи
🎙 Работает прямо с NumPy — удобно для ML и DSP
📦 Простая интеграция с soundfile, wave, scipy
🛠 Идеально для создания диктофонов, обработчиков, плееров
⚙️ Установка 👇👇👇
pip install sounddevice
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5❤2🥰1