inter-regional, там написано же, что можно получить или сразу все, или оффсетом.
не солидно же, у нас должно быть свое!
Что за бред вообще? Ну выписывайте руками и заносите в базу, если не солидно. Не солидно тянуть либу для работы с этим простецким апи, а тянуть данные не только солидно, но и умно.
1. ООП
2. Грамотное наименование переменных, методов и классов
3. Небольшие комментарии в коде
4. Документация в джире или где-либо еще по сложным юзкейсам приложения.
Decadal, да, проблему того, что соц сети не отдают почту, мы решили: если пользователь входит в первый раз через соц сети и эта соц сеть не отдает почту, то мы просим указать вручную, куда шлем письмо с подтверждением. А уже при привязывании наличие почты необязательно, хоть мы ее и сохраняем, если получили.
Да, я знаком с этим понятием и решение надумал примерно такое же, какое вы написали, но вот думаю, правильно ли это? Так делают все (или многие)? Просто оно мне кажется каким-то топорным. Ну вот пользователь просто захочет заменить какую-то старую соц сеть (которая основная) на новую, а мы не дадим, потому что не осталось почт среди его привязанных аккаунтов. А если и осталось, то давать выбирать почту юзеру как-то глупо: он может указать старую забытую почту, на которую нет смысла делать рассылку. Может, если есть почта среди привязанных аккаунтов, то прикрепим одну из них, а если нет, то просто попросить пользователя вписать, куда мы отправим подтверждение, а уже из письма мы обновим его данные?
Как минимум, сделать несколько очередей, которые будут отправлять сообщения только определенному кол-ву пользователей, тогда отправка сообщений будет быстрее за счет быстрого прохождения цикла.
Giperoglif, это я понимаю, да. Но если человек зашёл через гугл, а там уже есть почта, я её делаю основной и сохраняю в таблице users. Потом он отвязывает аккаунт гугл (не самым последним). Как поступить в этом случае? Ведь если в таблице users останется та почта, то он по-прежнему сможет авторизоваться через тот гугл аккаунт. Я конечно могу поставить условие, что если юзер есть и там и там, то авторизуем, иначе создаём новый аккаунт, но у меня стоит уникальность по полю email, так что такой трюк не выйдет: авторизовавшись через отвязанную соц сеть он получит доступ к старому аккаунту через емайл. Что в этом случае можно сделать?
bobrui4anin, неважно, callback_query или обычные команды. Вы просто отслеживаете прогресс через нажатые команды. Если пользователь нажал какую-то команду (допустим, /start), вы совершаете соответствующие действия, сохраняете команду в базу в поле (last_command, допустим), и дальше проверяете, какая последняя команда в таблице у этого пользователя и соответственно ей показываете другие команды. Суть в том, что если какое-то действие зафейлится, вы так же можете его обработать правильно, потому что точно знаете, на какой итерации находитесь.
bobrui4anin, что такое сеанс для вас? У вас должен быть список разрешенных команд. Когда админ присылает одну из них, вы реагируете. Если нет, молчите или делаете дефолтное действие.
> "Введите текст оповещения" и пока администратор не ввел текст чтобы ничего не происходило
С чего вы взяли, что что-то будет происходить, если пользователь ничего не введет? Бот не заработает, пока его не пнуть.
> так понял, что нужно делать сеанс, но как это делается - я не могу сообразить, примеров тоже не нашел.
Хранить последнюю команду в базе и сравнивать ее с пришедшей от админа.
Giperoglif, кстати, а как в таком случае делается отвязывание аккаунта? Ведь у нас в таблице users хранится самая первая соц сеть, через которую пользователь создал аккаунт, и она же хранится в таблице ```user_social```. Пользователь захочет отвязать ее тоже, как поступить в этом случае? Самую последнюю отвязать, разумеется, не дам, но если у него 4 привязанные соц сети и он отвязывает основную, которая хранится в таблице users, то мы вместо нее делаем основную любую другую или какая технология применяется, не подскажете?
Да ладно, авторизация через кучу соц сетей работает уже очень давно и ни одного бага не было. Теперь лишь добавится одно условие. Тянуть целую либу из-за одного простого действия не хочется.
Нет, у нас один продукт и авторизация во всех не нужна, нужна банальная привязка аккаунтов, чтобы юзер мог войти через любой из них и его записи из другого аккаунта принадлежали ему же.
Ну так это же вордпресс, откуда там логика.