[refactor]: Delete unuseful cog
This commit is contained in:
parent
84960e00eb
commit
f415ca7453
120
cogs/SSC.py
120
cogs/SSC.py
@ -1,120 +0,0 @@
|
|||||||
import asyncio
|
|
||||||
|
|
||||||
from discord.ext import commands, tasks
|
|
||||||
from discord.utils import get
|
|
||||||
from requests import get
|
|
||||||
from requests.structures import CaseInsensitiveDict
|
|
||||||
|
|
||||||
from re import findall # Импортируем библиотеку по работе с регулярными выражениями
|
|
||||||
from subprocess import check_output # Импортируем библиотеку по работе с внешними процессами
|
|
||||||
|
|
||||||
from json import loads
|
|
||||||
from cogs.emojis import check_mark, XX
|
|
||||||
from subprocess import run as cmd
|
|
||||||
import discord
|
|
||||||
from discord import app_commands
|
|
||||||
|
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
class SSC(commands.Cog, name="SSC"):
|
|
||||||
"""Управление моей Системой Умной Комнаты Альфа-версия"""
|
|
||||||
|
|
||||||
def __init__(self, bot):
|
|
||||||
self.bot = bot
|
|
||||||
self.cooler.start()
|
|
||||||
logger.debug("Cooler.start()")
|
|
||||||
self.last_temp = 0
|
|
||||||
|
|
||||||
def cog_unload(self):
|
|
||||||
self.cooler.cancel()
|
|
||||||
|
|
||||||
async def cog_check(self, ctx):
|
|
||||||
return ctx.message.author.id in (self.bot.owner_id, 779697451404886016)
|
|
||||||
|
|
||||||
@commands.command(brief="Включает/выключает свет")
|
|
||||||
async def light(self, ctx):
|
|
||||||
headers = CaseInsensitiveDict()
|
|
||||||
headers["Authorization"] = "Bearer cvbnmjhgvbnmj"
|
|
||||||
get("http://localhost:80/API/light", headers=headers)
|
|
||||||
|
|
||||||
await asyncio.sleep(3)
|
|
||||||
await ctx.message.delete()
|
|
||||||
|
|
||||||
@commands.command(brief="Показывает темпераруру",
|
|
||||||
aliases=['temp'])
|
|
||||||
async def temperature(self, ctx):
|
|
||||||
headers = CaseInsensitiveDict()
|
|
||||||
headers["Authorization"] = "Bearer cvbnmjhgvbnmj"
|
|
||||||
r = get("http://localhost:80/API/temperature", headers=headers)
|
|
||||||
j = loads(r.text)
|
|
||||||
await ctx.send(f"__DHT__\n"
|
|
||||||
f"Температура: {j['DHT']['temperature']}\n"
|
|
||||||
f"Влажность: {j['DHT']['humidity']}\n"
|
|
||||||
f"__CPU__\n"
|
|
||||||
f"Температура: {j['CPU']['temperature']}")
|
|
||||||
|
|
||||||
@tasks.loop(minutes=1)
|
|
||||||
async def cooler(self):
|
|
||||||
temp0 = 55
|
|
||||||
temp1 = 80
|
|
||||||
min_pwm = 125
|
|
||||||
|
|
||||||
temp = get_temp()
|
|
||||||
# logger.info(f"Температура процессора: {temp}")
|
|
||||||
|
|
||||||
pwm = (temp-temp0) / (temp1-temp0)
|
|
||||||
pwm = int((255 - min_pwm)*pwm + min_pwm)
|
|
||||||
|
|
||||||
if self.last_temp < temp: pwm += 25
|
|
||||||
self.last_temp = temp
|
|
||||||
# if temp <= 65: pwm += 50
|
|
||||||
|
|
||||||
if pwm < min_pwm: pwm = 0
|
|
||||||
if pwm > 255: pwm = 255
|
|
||||||
|
|
||||||
# logger.info(f"Мощность куллера: {pwm} ({int(pwm/256*100)}%)")
|
|
||||||
|
|
||||||
headers = CaseInsensitiveDict()
|
|
||||||
headers["Authorization"] = "Bearer cvbnmjhgvbnmj"
|
|
||||||
get(f"http://localhost/API/cooler/{pwm}", headers=headers)
|
|
||||||
|
|
||||||
@app_commands.command()
|
|
||||||
async def host(self, inter):
|
|
||||||
await inter.response.send_message(cmd(["neofetch", "--stdout"], capture_output=True).stdout.decode("utf-8"))
|
|
||||||
|
|
||||||
|
|
||||||
# @tasks.loop(seconds=1)
|
|
||||||
# async def open_door(self):
|
|
||||||
# if self.arduino.inWaiting() > 0:
|
|
||||||
# data = self.arduino.readline()
|
|
||||||
# if data == b'door\r\n':
|
|
||||||
# embed = discord.Embed(title="Дверь открыта!", color=discord.Color(0xFF0000))
|
|
||||||
# await get(self.bot.users, id=self.bot.owner_id).send(embed=embed, delete_after=15)
|
|
||||||
# elif data == b'test\r\n':
|
|
||||||
# self.arduino.write(b'2')
|
|
||||||
# else:
|
|
||||||
# await get(self.bot.users, id=self.bot.owner_id).send(data)
|
|
||||||
|
|
||||||
# @tasks.loop(seconds=1)
|
|
||||||
# async def alarm(self):
|
|
||||||
# now = datetime.datetime.now()
|
|
||||||
# time = datetime.time(7)
|
|
||||||
# delta = datetime.timedelta(seconds=2)
|
|
||||||
# combine = datetime.datetime.combine(now.date(), time)
|
|
||||||
#
|
|
||||||
# if combine-delta <= now <= combine+delta:
|
|
||||||
# await get(self.bot.users, id=self.bot.owner_id).send("!!!")
|
|
||||||
# self.arduino.write(b'1')
|
|
||||||
# await asyncio.sleep(1)
|
|
||||||
# self.arduino.write(b'1')
|
|
||||||
# await asyncio.sleep(1)
|
|
||||||
# self.arduino.write(b'1')
|
|
||||||
|
|
||||||
def get_temp():
|
|
||||||
temp = check_output(["vcgencmd", "measure_temp"]).decode() # Выполняем запрос температуры
|
|
||||||
temp = float(findall('\d+\.\d+', temp)[
|
|
||||||
0]) # Извлекаем при помощи регулярного выражения значение температуры из строки "temp=47.8'C"
|
|
||||||
return (temp)
|
|
||||||
|
|
||||||
async def setup(bot):
|
|
||||||
await bot.add_cog(SSC(bot))
|
|
Reference in New Issue
Block a user