170 похожих чатов

Привет. Подскажите как можно сделать такое: есть тг бот, до

его старта надо подгрузить из монги данные, чтобы на их основании сделать внутренний контент? Проблема в том, что сейчас сцены бота инициализируются раньше, чем создаётся бот и запрашивается инфа из базы

13 ответов

21 просмотр

Просто запустить бота (bot.launch или как там) только после получения данных из бд

Роман- Автор вопроса

Сейчас сделано так: при коннекте к монге происходит запрос к базе, после этого создаётся бот, а внутри у него уже bot.launch и прочее. Чувствую, что порядок где то нарушен, но где копать - непонятно(

Роман- Автор вопроса

В том, что сначала инициализируются сцены с пустым значением (из базы ещё не получено). Похоже, что инициализация происходит до кода создания бота. Хотя в коде нигде найти не могу где могло бы раньше инициализироваться

Создавай бота только после получения ответа из монги

Роман- Автор вопроса

сейчас сделано так, если создание бота перенести в then или внутрь findOne - разницы никакой

Почему у тебя и await, и коллбек в функцию передан? Это нормально и так и надо? Я не очень понимаю что тут происходит

Роман- Автор вопроса

Судя по всему тут при соединении с монгой запрашиваются данные и после получения ответа, стартует бот

То есть ты не знаешь? Видимо тебе стоит разобраться с асинхронностью и с тем, как использовать промисы

Здесь в этой функции много проблем, во первых смесь коллбеков и async, во вторых в случае ошибки будет вызвана setQuizData с параметром null (нет ретурна) В третьих я уверен что это можно переписать так чтобы запросы в бд делать не при старте, а при непосредственном запросе от юзера

Роман- Автор вопроса

разбираюсь в чужом коде бэка, хотя я вообще с фронта

Выброси колбэк и нормально напиши с авэйтом

Давно ты на фронте?

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
вот не понимаю, зачем вообще лезть в осдев, если даже базы не знаешь? хотя бы про загрузку, форматы файлов железо какое-никакое. Ну реально, даже зная работу железа, с условны...
Mixail Frolov
7
Можно ли ставить FPC транк, а Лазарь нет?
А Андрей
9
Shadow Akira ты откуда инфу черпаешь?
One
9
Карта сайта