
Igor
03.04.2018
13:31:53
libssl, но он не асинхронный
это как в питоне requests

Denis
03.04.2018
13:32:16
ну у нас проблема в том что tls не заработал с hubspot
так то я бы из vibe дёргал чистого, проблем нет

Google

Igor
03.04.2018
13:32:33
заработает если libssl может
requests не использует vibe если ты не используешь vibe

Denis
03.04.2018
13:47:32
Alexander привет Boris-Barboris

Alexander
03.04.2018
13:47:42
вечер в хату

Pavel
03.04.2018
13:51:48
О я тебя узнал
Какое то знакомое имя с форума

Denis
03.04.2018
14:01:39
надо что-то вбросить для затравки, а то почему-то все притихли резко)

Alexander
03.04.2018
14:02:15
я тебе щас вброшу про Result libpq-шный

Igor
03.04.2018
14:02:56
go лучше чем d

Denis
03.04.2018
14:02:58
да, давай

Igor
03.04.2018
14:03:02
Шутка

Denis
03.04.2018
14:03:12

Alexander
03.04.2018
14:03:40
Мемы про них всяко лучше

Google

Dark
03.04.2018
14:07:22

Igor
03.04.2018
14:33:24
https может?
import requests;
import std.stdio;
import std.format;
void main() {
auto rq = Request();
auto rs = rq.get("https://api.hubapi.com/contacts/v1/lists/all/contacts/all");
writeln(rs.code);
}
печатает 401

Denis
03.04.2018
14:34:13
во, отлично, значит так работает
а какой DUB конфиг?

Igor
03.04.2018
14:35:28
это я без dub, но думаю что-то типа
"dependencies": {
"requests": "~>0.7”
},

Denis
03.04.2018
14:37:03
а ну да, оно же само там выберет tls бэкенд
спасибо, попробую

Pavel
03.04.2018
14:40:01
dtelegram-bot-api норм название?

Alexander
03.04.2018
14:40:41
d убрать из начала и ок

Denis
03.04.2018
14:46:05

Pavel
03.04.2018
14:46:22
)

Denis
03.04.2018
14:46:28
Там на форуме спрашивали почему такое засилье русских и африканцев в Ди
и прочих разных испанцев-немцев-французов, явно какой-то перекос

Pavel
03.04.2018
14:47:01
Просто есть bot api а есть нативное апи (трехуровневое) для имплементации клиентов

Denis
03.04.2018
14:47:03
подобное было с 8-битными компьютерами в 80 годах

Pavel
03.04.2018
14:56:57
ахаха, может реально назвать telega ))

Denis
03.04.2018
14:57:33
дык
а то всё длинное и не понятное и обязательно d в конце или в начале - пора от этого уходить(

Pavel
03.04.2018
14:58:21
import telega.botapi выглядит лучше чем
import dtelegram-bot-api.api или подобное

Google

Denis
03.04.2018
15:00:56
а ты хочешь кроме апи бота ещё что-то туда запилить?

Pavel
03.04.2018
15:01:58
Теоретически да, там есть апи побольше и пофундаментальнее https://core.telegram.org/#telegram-api
а апи для ботов это так, бонусом запилили

Denis
03.04.2018
15:02:14
а ну ок
А тестами получится покрыть его? Есть у них там тестовый аккаунт?
А то тут практика неоднократно показала что без тестов 2-3 разраба за месяц всё ломают

Pavel
03.04.2018
15:12:57
Нет, тесты которые взаимодействуют с сервером написать не получится. Можно написать тесты которые проверяют логику парсинга но там кот наплакал
Написать мок сервера телеги это отдельный огромный проетк )

Stanislav
03.04.2018
15:15:01
можно в теории конкретные json сообщения проверять. типа несколько update с разными данными, несколько message и тд

Pavel
03.04.2018
15:17:28
Это все делает asdf и статическая типизация прекрасно
Ну да, впринципе можно тестировать, подавая на вход json

Denis
03.04.2018
15:25:00
О тестировании телеграмных биндингов:
https://www.npmjs.com/package/telegram-test-api

Denis
03.04.2018
15:25:08
Telegram API emulation web server for testing telegram bots which lets you test bot's logic without using telegram API.
В принципе, живое и свежее
странно что стандартного нету фирменного

Pavel
03.04.2018
15:28:11
В этом пакете нет смысла вообще
Эмулятор должен предоставляться только от официального вендора и быть всегда акутальным с продакшеновой версией апи. А так то мы и свои стабы можем запилить.
Только опять же в них нет смысла, вся суть апи это сделать https запрос и получить ответ.
Это можно парсеру просто скармливать json в юнит тестах и проверять что структуры получились без ошибок. А соттветствует ли изначальный JSON тому что отдает реальный телеграм - это никто и ни эмулятор не может гарантировать

Denis
03.04.2018
15:31:47
верно

Google

Denis
03.04.2018
15:31:56
я вот удивлён, а точно нету официальноно тестового аккаунта?

Pavel
03.04.2018
15:32:11
Нет
Не ну как бы ничто не мешает завести просто токен бота

Denis
03.04.2018
15:32:33
я прям неуютно себя чувствую без тестов

Pavel
03.04.2018
15:33:08
Хотя, в любом случае даже с тестовым ботом нужен еще полноценный контакт и полноценный чат чтобы посылать им сообщения

Denis
03.04.2018
15:33:10
а, зарегать своего бота чисто для целей тестирования? это потенциальная бага - его могут заюзать желающие для любых целей

Pavel
03.04.2018
15:36:33

Denis
03.04.2018
15:39:27
автоматом зарегать не получится, а вручную зареганный через правки и CI сможет творить что угодно - потенциальная подстава это
нужен от них интерфейс таки тестовый

Admin
ERROR: S client not available

Stanislav
03.04.2018
15:45:22
а на гитхабе нет никакого CI?
в теории то наверн можно передавать токен в environment variable, вроде так остальные тесты гоняют

Denis
03.04.2018
15:45:43
сторонние есть, travis-ci самый ок вроде

Stanislav
03.04.2018
15:45:46
но опять же
что тестить будем?) а если сообщений нет боту

Denis
03.04.2018
15:46:03
ну токен да но ведь контролировать что кому бот пишет не сможешь же
точно, там же защита от спама
первым пишет юзер
короч, делайте тестирование, оно маст хев

DarkRiDDeR
03.04.2018
16:29:10
Народ, как получить размер любой переменной в байтах. Будь то структура, строка или объект?

Google

Stanislav
03.04.2018
16:30:07
.sizeof ?
а нифига, оказывается оно работает не так )

DarkRiDDeR
03.04.2018
16:34:01
она возвращает размер типа

Denis
03.04.2018
16:35:56
именно так оно и работает.
а узнать размер того на что она указывает в общем случае нельзя
давай свой случай, рассмотрим поближ

Stanislav
03.04.2018
16:37:21
ну в случае со статическим массивом - оно отдает как раз таки размер в байтах
в остальных случаях размер типа

DarkRiDDeR
03.04.2018
16:42:35
да пилю тесты сериализации данных, надо объём данных померить. Пока на структуре тестю
код
https://run.dlang.io/is/b3juo1

Alexander
03.04.2018
16:43:47
Ручками, пишешь шаблон который итерируется по полям рекурсивно и считает сумму. Простого решения нет.
универсального тоже

Dark
03.04.2018
16:46:03
Ну на счёт универсального хз
А то опять придёт кто-то с универсальным метапрограммированием

Alexander
03.04.2018
16:49:45
потом придёт братишка со своим неебическим типом с поинтерами и анонимными юнионами в теле класса.

Denis
03.04.2018
16:50:59

DarkRiDDeR
03.04.2018
16:53:29
вай, вай, не пугайте. Это лишь для тестов. Сериализация нужна для простых довольно данных. Типа стуктуры (объекта) с полями какой-нибудь книги, или кеша веб-страницы.
Ручками простой подсчёт сделаю ))
Но хотелось уневерсального решения, но увы

Dark
03.04.2018
16:55:04

Maxim
03.04.2018
17:00:46
объект, наверное, сложновато сериализовать)

DarkRiDDeR
03.04.2018
17:02:40
https://github.com/atilaneves/cerealed
простые объекты могёт
для моих задач структуры подходят отлично. Пока решение выбираю. Списочек пока такой
cerealed
orange
std.json
vibe.data.json
msgpack-d
D:YAML
yajl-d

Oleg
03.04.2018
17:08:00
https://github.com/deviator/drmi/blob/master/sbin/drmi/sbin.d =)

Denis
03.04.2018
17:08:46
точно нужна ещё одна сериализация!11