from .. import loader, utils
import datetime
import time
import random
# meta developer: @kmodules
__version__ = (1, 0, 0)
@loader.tds
class CountTimeModule(loader.Module):
"""Модуль для отслеживания времени до разных событий, ВРЕМЯ может быть неправильное, потому что у вас на сервере такое время. На Termux время правильное..."""
strings = {
"name": "CountTime",
"newyear_hints": [
"Time to make New Year resolutions!",
"Get ready for the countdown!",
"New Year, new beginnings!",
"Time to prepare the champagne!",
"Ready for midnight magic?"
],
"winter_hints": [
"Winter wonderland is coming!",
"Time for hot chocolate!",
"Snowflakes will fall soon!",
"Get your winter clothes ready!",
"Winter magic approaches!"
],
"spring_hints": [
"Spring flowers are on their way!",
"Birds will sing again soon!",
"Nature is preparing to bloom!",
"Spring rain will refresh everything!",
"Time for new beginnings!"
],
"summer_hints": [
"Beach time is coming!",
"Get ready for sunny days!",
"Summer adventures await!",
"Ice cream season approaches!",
"Time for vacation plans!"
],
"autumn_hints": [
"Fall colors are coming!",
"Time for cozy sweaters!",
"Falling leaves season ahead!",
"Pumpkin spice everything!",
"Autumn magic is near!"
]
}
strings_ru = {
"name": "CountTime",
"newyear_hints": [
"Пора загадывать желания!",
"Готовимся к обратному отсчету!",
"Новый год = новые возможности!",
"Пацаны, готовим шампанское!",
"Держимся, держимся..."
"Скоро волшебная ночь!"
],
"winter_hints": [
"Скоро зимняя сказка!",
"Время горячего шоколада!",
"Мам, подари шоколад."
"Скоро пойдет снег!",
"Готовь теплую одежду!",
"Зимнее волшебство приближается!"
],
"spring_hints": [
"Весенние цветы уже в пути!",
"Скоро запоют птицы!",
"Еще немного..."
"Природа готовится к цветению!",
"Весенние дожди освежат всё вокруг!",
"Время новых начинаний!"
],
"summer_hints": [
"Скоро на пляж!",
"Включаем вентилятор?"
"Готовься к солнечным дням!",
"Летние приключения ждут!",
"Сезон мороженого приближается!",
"Время планировать отпуск!"
],
"autumn_hints": [
"Золотая осень!",
"Время уютных свитеров!",
"Приближается сезон падающих листьев!",
"Тыквенный латте уже ждет!",
"Осеннее волшебство близко!"
]
}
def __init__(self):
self.seasons = {
'winter': (12, 1, 2),
'spring': (3, 4, 5),
'summer': (6, 7, 8),
'autumn': (9, 10, 11)
}
def _get_next_date(self, month, day):
now = datetime.datetime.now()
year = now.year
target = datetime.datetime(year, month, day)
if target < now:
target = datetime.datetime(year + 1, month, day)
return target
def _get_next_season(self, season):
now = datetime.datetime.now()
year = now.year
if season == 'winter':
return self._get_next_date(12, 1)
elif season == 'spring':
return self._get_next_date(3, 1)
elif season == 'summer':
return self._get_next_date(6, 1)
else:
return self._get_next_date(9, 1)
def _format_time_left(self, target):
now = datetime.datetime.now()
diff = target - now
days = diff.days
hours = diff.seconds // 3600
seconds = diff.seconds % 3600
return f"| {days} дней | {hours} часов | {seconds} секунд |"
@loader.command()
async def nytime(self, message):
"""Показывает время до нового года"""
next_ny = self._get_next_date(1, 1)
time_left = self._format_time_left(next_ny)
hint = random.choice(self.strings['newyear_hints'])
await utils.answer(
message,
f"
{time_left}\n\n" f"
{time_left}\n\n" f"
{time_left}\n\n" f"
{time_left}\n\n" f"
{time_left}\n\n" f"