Операторы определяют использование сим-карты в модеме по двум признакам:
1. IMEI;
2. TTL пакетов.
По первому решается прошивкой в модеме IMEI из числа "телефонных" (например, от Nokia). Нужно сразу быть готовым, что операторы могут на этом основании начать себя вести особым образом. Например, мне на модем начали иногда кидать PUSH-рекламки, в которых модем автоматически соглашался с подпиской.
Разумеется, не всякий модем позволяет смену IMEI, но если данный оператор на IMEI полагается, то этот вариант стоит рассмотреть.
По второму пункту обычно проблемы бывают на модемах, где модем имеет отдельный IP и выступает роутером, там надо найти прошивку, которая будет TTL изменять для пакетов. Опять же, не всякий модем позволяет такое сделать. Либо надо пропатчить на стороне своей операционной системы, чтобы TTL исходящих пакетов был +1 от нужного.
Кстати кейс с Ростовом показательный: многие жители РнД напишут просто "Ростов", даже не задумываясь, что это другой город в другом месте :)
Из других примеров можно вспомнить Киров, которых как минимум два (в Калужской и Кировской губерниях).
В общем, если делать именно "точно", то проблема даже не в именительном падеже, а в получении адекватной базы населённых пунктов, распределённых по административно-территориальным единицам.
Можно налажать на показе один раз, два раза, даже три раза, но если это всё ещё продолжается, то это уже тревожный звоночек. Это значит, что в консерватории ничего не меняется, код не становится лучше, баги не исправляются, тестирование не проводится, сценарий показа не отрабатывается заранее. И самое главное, что не делаются выводы и не улучшаются процессы.
Если всё так плохо, то не надо вообще проект показывать, пока он всё ещё остаётся таким плохим. Ограничиться внутренними показами, внутри своего отдела или других отделов своей организации. Показывать специалистам из числа друзей. В конце концов, дать своей маме потыкать по кнопкам - пусть лучше она случайно найдёт ту самую, что делает delete without where и роняет приложение насмерть, чтобы это не случилось во время важного показа...
И уж точно не следует за неделю до показа рваться всё переделывать. Ничего хорошего не получится. Ведь программирование - это процесс добавления новых багов в программу. За программированием следует отладка, которая эти баги призвана устранить. Сколько именно новых багов появится от разработки в бешенном темпе с недельным дедлайном и сколько недель потребуется на их последующее исправление никогда нельзя предсказать, но что их будет немало - это даже к гадалке ходить не надо.
Вова, данный пример явно не из той оперы, рекомендую посмотреть другие его вопросы. Из массового же рыночного предложения работодатель вряд ли захочет брать кого-то на неполную ставку. Отвечающие всё правильно говорят: на такое могут согласиться ради сеньора-помидора с большим опытом и вау-навыками, показанными на собеседовании, а джуны всё равно почти никому не нужны.
Нормальных админов на серьзёную инфраструктуру у нас тоже очень подолгу ищут.
Зачем работодателю сотрудник на 4 рабочих дня, если он может просто его не брать и взамен взять сотрудника на 5 рабочих дней?
Нет, конечно, если выразивший желание работать по 4 дня в неделю за этот срок приносит пользу, как три обычных сотрудника... Но тут явно другой случай.
metalexs, естественно, я видел, что вопрос был не об этом. Тем не менее, я считаю необходимым предупредить, что идея - полное дерьмо. Писать ушедшим людям - самый идиотский способ их удержать. Ещё и рискованный.
RANTEN, ну конечно, если есть два одинаковых обработчика с одинаковыми условиями, то первый перехватывает всё. Нужно или сделать всё в одном обработчике, или сделать более узкие условия.
Например, можно что-нибудь в духе func=lambda call: call.data.startswith('A')
metalexs, хм... ну ок. Но тогда вопрос о том, как писать, возникать не должен. Но я не рекомендую писать вышедшим с канала пользователям, так как многие из них сразу же пожалуются на спам.
prixhd, я повторю то же самое, что написано выше: приведённый код подобную ошибку вызвать не может, так как main не является корутиной. Судя по всему, запускался какой-то другой код, где есть другая асинхронная функция main. На то же указывает и тот факт, что в приведённом фрагменте main не возвращает никаких результатов, никаких таких links.
RANTEN, кстати я думаю что понял где беда. Сразу после строчки "#ПРОБЛЕМА ЗДЕСЬ" нет @ перед декоратором, естественно, декоратор не работает, определяется обычная функция, которая потом нигде не вызывается.
Если я правильно понял, то средствами самого dialogflow никак нельзя выбрать язык. Надо спросить язык в самом боте до включения интеграции с dialogflow.
@belkin_aa
рекомендую также посмотреть в сторону биндингов к uno на питоне. У меня тут валяется старый скрипт ещё на python2 https://pastebin.com/K6FA0vRY , можно на его примере просто посмотреть как это делается. Да, не слишком удобно, но зато можно лучше управлять процессом.
Сам я отказался от uno, потому что мне обычно надо конвертить между xlsx и csv, а для этого есть нативные реализации намного более быстрые и удобные.
1. IMEI;
2. TTL пакетов.
По первому решается прошивкой в модеме IMEI из числа "телефонных" (например, от Nokia). Нужно сразу быть готовым, что операторы могут на этом основании начать себя вести особым образом. Например, мне на модем начали иногда кидать PUSH-рекламки, в которых модем автоматически соглашался с подпиской.
Разумеется, не всякий модем позволяет смену IMEI, но если данный оператор на IMEI полагается, то этот вариант стоит рассмотреть.
По второму пункту обычно проблемы бывают на модемах, где модем имеет отдельный IP и выступает роутером, там надо найти прошивку, которая будет TTL изменять для пакетов. Опять же, не всякий модем позволяет такое сделать. Либо надо пропатчить на стороне своей операционной системы, чтобы TTL исходящих пакетов был +1 от нужного.