Надо включить в BIOS. Также на некоторых моделях сетевух в винде (если используется винда) надо включить Wake On Lan в свойствах драйвера сетевухи, потому что винда отключает сетевуху внутри драйвера.
Из-за последнего сетевуха иногда не работала в других ОС после перезагрузки в них после винды.
galliard, gitlab-ci.yml по сути предоставляет возможность выполнить набор команд. Вот и надо туда добавить команды, которые организуют деплой куда надо.
Аккаунт может создать ограниченное количество ботов (по-моему не больше 20, но могу ошибаться). Для массового сервиса маловато. Плюс создание ботов придётся автоматизировать через клиентский API.
Поэтому лучше пусть пользователи сами себе ботов создают.
С точки зрения безопасности лучше не выходить в интернет вообще :) А так пишем пользовательское соглашение с отказом от ответственности, это стандартная практика.
Shimpanze, не надо делать new foo, весь смысл этой магии в том, что вызывается статиеский метод - метод класса, а не объекта - при несуществующем объекте. А реальный new вызывается в статическом методе.
0x80070005, возможно токен там и есть, просто называется как-нибудь неочевидно и возможно хранится не в окончательном виде, а, допустим, как base64 реального, или c перестановкой символов, или разбитым на части в разных ключах... Всё ради того, чтобы в глаза не бросалось и нельзя было легко найти.
0x80070005, токен мог быть получен при первом вызове приложения и положен в local storage, а следующие попытки запуска приложения просто забирают его из local storage и сервер не опрашивают.
Естественно, его могут обфусцировать, чтобы было непросто найти.
Сервис должен быть не "для базы данных", а реализовавать какую-то функциональную бизнес-логику. А при такой постановке вопроса всё выглядит так, будто бы решили сделать сервис для хитровывернутого выполнения SQL-запросов.
bbquite, так и не надо использовать как строку. Для float 123 и 123.00 это одно и то же. Для денег float плох ещё из-за неточности его математики, что приводит к казусам типа https://0.30000000000000004.com/
wg никто никогда не считал неопределяемым. У него киллер-фича в другом: простая имплементация в ядре без юзерспейса и шифры, которые эффективно работают практически везде. Как стал протокол часто применяться - научились определять.
Zettabyte, redis - изначально тот же memcached (kv-хранилище) с его же интерфейсом, который хранил копию данных в памяти также и на диске. Но вроде с тех пор умеет всякие очереди, кластерность итд. Я его кроме как замены memcached сто лет назад и то в тестовых целях не пользовал, так что не знаю.
Конечные автоматы тут это просто про то, что для упрощения разработки не программист куда-то у себя в боте складирует, какой user_id в каком состоянии, а библиотека это делает сама, вызывая разные обработчики в зависимости от предыстории обмена сообщениями с пользоватлем. Это хорошо, когда делаешь пошаговые взаимодействия (например, когда надо задать серию вопросов и выдать результат обработки), и довольно плохо, когда надо хранить персистентно информацию о пользователе, потому что все данные являются свойствами текущего состояния, а не пользователя (например, бот знакомств в начале регистрации в сервисе спрашивает у пользователя его город/возраст/предпочтения). Но это можно совмещать (например, с помощью FSM зададим серию вопросов, а итог запишем уже в свою базу).
Формально это действительно конечный автомат (граф состояний, между которыми перемещается пользователь в процессе взаимодействия), но с практической точки зрения это то же самое, что можно было бы написать на if-then-else и глобальном словаре с id пользователя с id в качестве ключа. Просто так разрабатывать сильно неудобно. FSM намного удобнее даже для тривиальных взаимодействий, позволяя делать короткие функции, обслуживающие отдельные шаги.
Что касается сохранения данных, то aiogram позволяет в качестве хранилища состояний использовать не только Memory storage, но и файл на диске либо базу данных.
Из-за последнего сетевуха иногда не работала в других ОС после перезагрузки в них после винды.