docker-compose.yml text eol=lf
Dockerfile eol=lf
*.sh text eol=lf
class ArrayCountExpressionLanguageProvider implements ExpressionFunctionProviderInterface
{
public function getFunctions()
{
return [
ExpressionFunction::fromPhp('count'),
];
}
}
services:
validator.expression_language:
alias: App\Infrastructure\ExpressionLanguage\ExpressionLanguage
from pyrogram import Client
from pyrogram.types import InputPhoneContact
import json
import tempfile
api_id = 1234567
api_hash = "1q2w3e4r5t6yhbv"
app = Client("number", api_id=api_id, api_hash=api_hash)
def get_chat_id(phone_num):
temp_contact_name = tempfile.NamedTemporaryFile().name.split('\\')[-1]
good_res = list()
with app:
app.import_contacts([InputPhoneContact(phone=phone_num, first_name=temp_contact_name)])
contacts = app.get_contacts()
for contact in contacts:
contact_data = json.loads(str(contact))
if contact_data['first_name'] == temp_contact_name:
good_res.append(contact_data)
app.delete_contacts(contact_data['id'])
try:
good_res = good_res[0]['id']
except:
good_res = None
return good_res
print(get_chat_id('+79000000000))
// Эти данные можно получить на странице вашего приложения на платформе Tuya.
var accessId = "<access id>";
var apiSecret = "<api secret>";
// Сканируем сеть на наличие доступных устройств Tuya.
// Хранение найденных устройств реализуется как душе угодно
var scanner = new TuyaScanner();
scanner.OnNewDeviceInfoReceived += (sender, info) =>
{
// логика сохранения найденных устройств
};
var api = new TuyaApi(region: TuyaApi.Region.CentralEurope, accessId: ACCESS_ID, apiSecret: API_SECRET);
var devices = await api.GetAllDevicesInfoAsync(anyDeviceId: DEVICE_ID);
foreach(var device in devices)
{
Console.WriteLine($"Device: {device.Name}, device ID: {device.Id}, local key: {device.LocalKey}");
}
var device = new TuyaDevice("<IP адрес>", "<local key>", "<device id>");
// Пример команды включения лампочки
// Метод FillJson автоматически подставляет нужные параметры, поэтому сразу пишем запрос.
// Про методы DPS можно почитать в официальной документации Tuya
var onCommand = device.FillJson("{\"dps\":{\"20\":true}}");
var request = device.EncodeRequest(TuyaCommand.CONTROL, onCommand );
// Посылаем сигнал. Если устройство не ответит, то падает исключение
var encodedResponse = await device.SendAsync(request);
var response = device.DecodeResponse(encodedResponse);
.min(6, passwordMessage)
---> .min(6, () => passwordMessage.value)
computed: {
component() {
/*
* здесь возвращаете имя компонента, в зависимости от... это вам виднее;
* если действительно будет так, как показано в вопросе - натуральные числа
* соответствуют компонентам, то можно сложить имена компонентов в массив:
* return [ 'component-1', 'component-2', 'component-3' ][this.x - 1];
*/
},
},
<component :is="component" />