mkone112, singledispatch больше похож на грязный хак :) Так как работает по типу первого аргумента. В принципе, ничто не мешает прямо бэкпортировать или написать что-то похожее по аналогии на декораторах.
Igor Borisov, какие именно? Есть полтора девайса, которые работают через ndiswrapper (можно представить себе как запуск драйверов в wine), но это смех, а не драйвера...
Александр Степанов, в инструкции по deep linking это есть, правда, ссылки viber:// работают только на телефоне с уже установленным Viber. Можно сначала кидать на страницу-лендинг с описанием что сейчас откроется вайбер если у вас он есть, вот ссылка на гуглоплей где его установить... и редирект на viber:// через 3 секунды. Но я бы всё же попробовал проверить, можно ли передать context через https://chats.viber.com/код_бота
Денис Гончаренко, сделать для второго IP отдельное имя типа int.domain.com и пусть сидит на нём (как сделать, чтобы IP обновлялся, смотреть в предыдущем комментарии). Второй вариант - поднять между серверами VPN и использовать постоянный IP от этого VPN.
Александр Степанов, вообще говоря, Viber Bot для этого не предназначен, как я считал. Но если пользователь может поделиться своим номером... Раньше такого точно не было. Впрочем, есть вопросы к надёжности такой проверки, ведь приходится доверять информации от пользователя.
Я в комментарий к другому ответу написал про deep linking, тут наверняка именно с его помощью и делают. Помимо ссылок через viber:// должны работать ссылки вида chats.viber.com/идентификатор, но можно ли там передать context и как получить аппрув на такую ссылку (у некоторых ботов, особенно тестовых, даже указанные в их профиле такие ссылки реально не работают почему-то) я не знаю.
RuRoman, сейчас интеграция чатов в один интерфейс очень модная тема, это умеют jivochat, edna chatcenter, helpdeskeddy, beesender и ещё много-много кто, есть решения для битрикса и вообще для всяких разных CRM.
CityCat4, ископаемые компы, в основном HP Vectra VL2, но были и другие. Когда-то были терминалами операционистов в Сбербанке, где-то в начале нулевых были списаны и подарены банком школам.
Но под такое обычно что-то свое пилится
И так и сяк своё. Плюс были приняты различные оргмеры, настроены всякие дополнительные проверки в мониторинг, всё что только можно пущено через keepalived, написаны инструкции для дежурных админов и для смотрящих за мониторингом...
Самое смешное, что реальный сбой у нас случился в итоге только один раз за всё время действия контракта (один из резервных каналов был не выделенный, а L2VPN, у провайдера что-то приглючило и L2VPN не пропустил STP, сеть захлебнулась от петли), зато инфраструктура самого заказчика падала ежемесячно и могла лежать часами :)
NoGrisha, а process_commands в обработчике есть? А команды с таким же именем нет выше? Команда описана точно до bot.run?
Также советую отказаться от имён кириллицей, а не латиницей (реально имя команды можно передать через параметр name декоратора) - это в любом случае нехорошая практика.
CityCat4, там и так только сеть, sshd и vtun были, отключать просто уже нечего было. Основная проблема была в процессоре с частотой 25 МГц и 4 Мб оперативной памяти.
Вообще-то Linux используется не только на серверах. И даже на серверах скорость загрузки - это важная вещь (не говоря и о других штуках, которые решает systemd, включая унифицированный интерфейс и формат для разных дистрибов). Особенно когда минимальный простой вызывает штрафные санкции по договору (был у нас госзаказчик, платил по повышенному тарифу, но очень жёсткие требования к надёжности, штраф за 40 минут даунтайма был равен месячному платежу).