You've already forked Irene-Voice-Assistant
mirror of
https://github.com/janvarev/Irene-Voice-Assistant.git
synced 2025-11-26 22:50:58 +02:00
plugin_urlopener.py - добавлены альтернативные варианты слов в дефолтовый конфиг
This commit is contained in:
@@ -18,6 +18,8 @@
|
||||
|
||||
**plugin_random.py** - рандом (оффлайн). Примеры: "подбрось|брось кубик|монетку". Содержит примеры парсинга дерева команд (команды можно задавать деревом)
|
||||
|
||||
**plugin_datetime.py** - команды "дата, время"
|
||||
|
||||
**plugin_weatherowm.py** - погода (онлайн). Примеры: "погода, погода завтра, погода послезавтра, прогноз погоды".
|
||||
Требует установки в конфиге бесплатного API-ключа с https://openweathermap.org/ , а также местоположения
|
||||
|
||||
|
||||
55
plugins/plugin_datetime.py
Normal file
55
plugins/plugin_datetime.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# Дата и время
|
||||
# author: Vladislav Janvarev
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from vacore import VACore
|
||||
|
||||
# функция на старте
|
||||
def start(core:VACore):
|
||||
manifest = { # возвращаем настройки плагина - словарь
|
||||
"name": "Дата и время", # имя
|
||||
"version": "1.0", # версия
|
||||
"require_online": False, # требует ли онлайн?
|
||||
|
||||
"commands": { # набор скиллов. Фразы скилла разделены | . Если найдены - вызывается функция
|
||||
"дата": play_date,
|
||||
"время": play_time,
|
||||
}
|
||||
}
|
||||
return manifest
|
||||
|
||||
def play_date(core:VACore, phrase: str): # в phrase находится остаток фразы после названия скилла,
|
||||
# если юзер сказал больше
|
||||
# в этом плагине не используется
|
||||
now = datetime.now()
|
||||
date = now.strftime("%Y-%m-%d")
|
||||
weekday = ["понедельник","вторник","среда","четверг","пятница","суббота","воскресенье"][datetime.weekday(now)]
|
||||
core.play_voice_assistant_speech("сегодня "+weekday+", "+get_date(date))
|
||||
|
||||
def get_date(date):
|
||||
day_list = ['первое', 'второе', 'третье', 'четвёртое',
|
||||
'пятое', 'шестое', 'седьмое', 'восьмое',
|
||||
'девятое', 'десятое', 'одиннадцатое', 'двенадцатое',
|
||||
'тринадцатое', 'четырнадцатое', 'пятнадцатое', 'шестнадцатое',
|
||||
'семнадцатое', 'восемнадцатое', 'девятнадцатое', 'двадцатое',
|
||||
'двадцать первое', 'двадцать второе', 'двадцать третье',
|
||||
'двадацать четвёртое', 'двадцать пятое', 'двадцать шестое',
|
||||
'двадцать седьмое', 'двадцать восьмое', 'двадцать девятое',
|
||||
'тридцатое', 'тридцать первое']
|
||||
month_list = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
|
||||
'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']
|
||||
date_list = date.split('-')
|
||||
return (day_list[int(date_list[2]) - 1] + ' ' +
|
||||
month_list[int(date_list[1]) - 1] + ' '
|
||||
#date_list[0] + ' года'
|
||||
)
|
||||
|
||||
def play_time(core:VACore, phrase: str): # в phrase находится остаток фразы после названия скилла,
|
||||
# если юзер сказал больше
|
||||
# в этом плагине не используется
|
||||
from utils.num_to_text_ru import num2text
|
||||
now = datetime.now()
|
||||
hours = int(now.strftime("%H"))
|
||||
mins = int(now.strftime("%M"))
|
||||
core.play_voice_assistant_speech("сейчас "+num2text(hours)+" "+num2text(mins))
|
||||
Reference in New Issue
Block a user