Dmitry
Alexander
Joseph
Есть кто юзает mongoose??
Joseph
Почему не создаеться пустой массив внутри пустого массива
Alexander
minimalize:false
Alexander
Что-то такое
AI
Народ, привет. Такой вопрос. на ноде генерирую Uint16Array в браузере его нужно по протоколо превратить в набор данных. Функция декодера есть. Проблема в передаче: если нода передает бинарные данные клиент их не понимает, в результате консоль выводит квадратики. Следует передавать base64? или есть варианты ?
Nikita
Ребят вопрос есть по тз, думаю как лучше сделать , может кто ответить пожалуйста ?
Anton
Nurik
Ребят всем привет. Хочу генерировать уникальный refreshtoken. Из вариантов вижу:
sha256(crypto.randomBytes + uuidv4). Токен буду писать в redis.
Нормально вообще так делать ? Если нет, то как надо ?
Nurik
Я просто хз, как посчитать вероятность коллизии у crypto.randomBytes.
Alexander
jsonwebtoken смотрел?
Alexander
/stat@combot
Combot
combot.org/chat/-1001041204341
Nurik
AI
Народ, привет. Такой вопрос. на ноде генерирую Uint16Array в браузере его нужно по протоколо превратить в набор данных. Функция декодера есть. Проблема в передаче: если нода передает бинарные данные клиент их не понимает, в результате консоль выводит квадратики. Следует передавать base64? или есть варианты ?
сomorsiс
Nurik
закон мерфи в помощь
А что ты предлагаешь ? Может добавить timestampt для стойкости к коллизиям ?
сomorsiс
refreshtoken - для конкретного юзера?
Vint
сomorsiс
userId_timestamp_random
Nurik
userId_timestamp_random
зачем userid ? Чёт мне кажется, быстрее солнце превратиться в сверхновую, чем я найду коллизию на timestampt + random(48)
сomorsiс
ну ок
Михаил Макарычев
Привет всем. Вопрос к любителям telegraf
Я создаю сцену и хочу, чтобы внутри этой сцены бот реагировал так:
1) на /a отвечал /b
2) на /c отвечал /d
3) на ЛЮБОЕ другое сообщение отвечал бы 'undefined'
С первыми двумя пунктами понятно, а вот с третьим пунктом сложно. То есть хочется что-то вроде такого:
const menu = new Scene('menu');
menu.enter(ctx => ctx.trply('Курлык'));
menu.command('a', ctx => ctx.reply('/b'));
menu.on('other', ctx => ctx.reply('undefined'))
Смотрел документацию и примеры в репе telegraf-flow. Ничего не нашёл
Alexander
Помогите с axios. Я создаю инстанс через axios.create и указываю baseUrl: 'http://mysite.ru'. Если я через инстанс обращаюсь с гет запросом на '/users', то подставляется не baseUrl, а текущий домен. Почему?
Егор
Добрый вечер. Кто знает, как в консоль выводить сообщения в одну строку? Банально - id цикла
Егор
console.log
Vlad
/stat
Combot
combot.org/chat/-1001041204341
倫太郎
Егор
倫太郎
))
倫太郎
А зачем тебе такие заморочки?
Dika
倫太郎
Кк
Gleb
Да, только учитывай, что в process.stdout.write пролазят только строки/буферы, так что сделай какой-нибудь util.inspect
Dika
Anonymous
всем привет, получаю на экпрессе строку по которой находится спрайт на стороннем серваке. как мне порезать эту картинку на части? размеры каждого элемента заранее известным и для всех элементов одинаковые
Anonymous
подскажи что за функцию использовать или пакет? спс
Anonymous
например у меня есть изображеение 1240 на 100 пикселей, а мне нужно получить 10 изображений по 124 на 100 пикселей. как этого добится?
Sergey
Cheslav
подскажите в какую сторону копать если делаю запрос с ноды через axios на другой сайт, и получается ошибка Request failed with status code 403
Cheslav
а так заходит если через браузер
Cheslav
еще было написано что connection closed
Cheslav
это сам сайт блочит?
сomorsiс
зайди в режиме инкогнито на этот адрес
Cheslav
заходит
сomorsiс
попробуй тогда user-agent в axios добавлять
Vadim
а запрос сам можно увидеть?
Vadim
не обязательно даже тот сайт показывать
Vadim
возможно, на сервере cors запрещен?
Vadim
или content-type забыл указать, если это post?
сomorsiс
не, он по-любому гет
Cheslav
cors вроде тут не причем, запрос гет, для парсинга
Cheslav
сюда https://citydog.by/afisha/
Cheslav
запрос стандартный, для других сайтов работал
Vadim
ну покажи запрос, пожалуйста, интересно же)
Cheslav
{ adapter: [Function: httpAdapter],
transformRequest: { '0': [Function: transformRequest] },
transformResponse: { '0': [Function: transformResponse] },
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
validateStatus: [Function: validateStatus],
headers:
{ Accept: 'application/json, text/plain, */*',
'User-Agent': 'axios/0.16.2' },
method: 'get',
url: 'https://citydog.by/afisha/',
data: undefined },
request:
Cheslav
и там еще ниже полотно)
сomorsiс
чистый гет запрос работает
Vadim
User-Agent, может, другой указать, а data вообще убрать?
сomorsiс
user-agent выпиливай
сomorsiс
с ним не работает без него работает
сomorsiс
да
Vadim
многословный чересчур запрос
Cheslav
да я тоже проверил что из за него)
Cheslav
странно
Cheslav
по дефолту шло
Cheslav
спасибо)
Oleg
Привет всем. Вопрос к любителям telegraf
Я создаю сцену и хочу, чтобы внутри этой сцены бот реагировал так:
1) на /a отвечал /b
2) на /c отвечал /d
3) на ЛЮБОЕ другое сообщение отвечал бы 'undefined'
С первыми двумя пунктами понятно, а вот с третьим пунктом сложно. То есть хочется что-то вроде такого:
const menu = new Scene('menu');
menu.enter(ctx => ctx.trply('Курлык'));
menu.command('a', ctx => ctx.reply('/b'));
menu.on('other', ctx => ctx.reply('undefined'))
Смотрел документацию и примеры в репе telegraf-flow. Ничего не нашёл
По порядку
1. В последних версиях telegraf функциональность сцен внесена в основной пакет (отдельный пакет telegraf-flow теперь устанавливать не надо вроде как). Соответственно, объект Flow теперь называется теперь Stage. Документация традиционно скупа, как мужская слеза, но вот пример с офсайта: если с telegraf-flow раньше работал, то по-моему разницы никакой http://telegraf.js.org/#/?id=stage
2. Ну очевидно же
scene.command('a', ctx => ctx.reply('/b'))
scene.command('c', ctx => ctx.reply('/d'))
scene.on('message', ctx => ctx.reply('undefined'))
Вызовы .use, .on, .command, .hears, .action и тп — это же по сути middleware и результат будет зависеть от того, в каком порядке они стоят у тебя в коде — как в Express, koa и всех остальных фреймворках с такой архитектурой.
Т.е. начала отработают обработчики команд, если пользователь введет соотв команды. И на этом обработка запроса прекратится, тк есть только reply(...) но нет команды на продолжение обработки запроса next()
А если он ввел что-то другое — отработает уже scene.on('message'...
Михаил Макарычев
По порядку
1. В последних версиях telegraf функциональность сцен внесена в основной пакет (отдельный пакет telegraf-flow теперь устанавливать не надо вроде как). Соответственно, объект Flow теперь называется теперь Stage. Документация традиционно скупа, как мужская слеза, но вот пример с офсайта: если с telegraf-flow раньше работал, то по-моему разницы никакой http://telegraf.js.org/#/?id=stage
2. Ну очевидно же
scene.command('a', ctx => ctx.reply('/b'))
scene.command('c', ctx => ctx.reply('/d'))
scene.on('message', ctx => ctx.reply('undefined'))
Вызовы .use, .on, .command, .hears, .action и тп — это же по сути middleware и результат будет зависеть от того, в каком порядке они стоят у тебя в коде — как в Express, koa и всех остальных фреймворках с такой архитектурой.
Т.е. начала отработают обработчики команд, если пользователь введет соотв команды. И на этом обработка запроса прекратится, тк есть только reply(...) но нет команды на продолжение обработки запроса next()
А если он ввел что-то другое — отработает уже scene.on('message'...
Вау, спасибо за развёрнутый ответ! Собственно, так и сделал в итоге
Alexander
По порядку
1. В последних версиях telegraf функциональность сцен внесена в основной пакет (отдельный пакет telegraf-flow теперь устанавливать не надо вроде как). Соответственно, объект Flow теперь называется теперь Stage. Документация традиционно скупа, как мужская слеза, но вот пример с офсайта: если с telegraf-flow раньше работал, то по-моему разницы никакой http://telegraf.js.org/#/?id=stage
2. Ну очевидно же
scene.command('a', ctx => ctx.reply('/b'))
scene.command('c', ctx => ctx.reply('/d'))
scene.on('message', ctx => ctx.reply('undefined'))
Вызовы .use, .on, .command, .hears, .action и тп — это же по сути middleware и результат будет зависеть от того, в каком порядке они стоят у тебя в коде — как в Express, koa и всех остальных фреймворках с такой архитектурой.
Т.е. начала отработают обработчики команд, если пользователь введет соотв команды. И на этом обработка запроса прекратится, тк есть только reply(...) но нет команды на продолжение обработки запроса next()
А если он ввел что-то другое — отработает уже scene.on('message'...
2. Не будет работать, если ты внутри сцены.
Это в текущем релизе. В develop ветке пофиксено.
Alexander
И в девелопе пофиксен leave() из визарда
Oleg