Max
Eugene
тут надо определится с тем какая задача должна быть решена
Max
Eugene
бот находится на контролируемом сервере?
Max
Max
один не один, их много)
Eugene
тогда сгенерил токен и раздал ботам
Max
ну по сути, думаю если подсадить их на локальный хук, чеб нет
Eugene
плюс хттпс и достаточно
Eugene
вообще к примеру редис - там самый просто вариант доступа к базе - обычный пасс, тот же токен по сути
Timofey
Кто чем пользуется для подключения к Telegram из Go?
Нужно подключиться как клиенту (т.е. не через бот-апи).
Попробовал зарегистрироваться как приложение и воспользоваться github.com/cjongseok/mtproto - получаю ошибки о флуде сообщениями, ну и низкоуровневые вещи протокола отлаживать надо.
Попробовал https://github.com/vysheng/tg, не могу найти некоторых вещей. Например как подключиться к группе по имели или простой ссылке: https://t.me/GroupName (а не пригласительной с /join/KLJASDK)
Anonymous
Может jabber сойдёт?))
Anonymous
Можно вообще топорно сделать. Copy-paste.
bebebe
Andrew
Если в бд postgresql используют тип Abstime, то какой тип использовать для записи модели этих данных в Go?
Dmitry
bebebe
Dmitry
bebebe
Максим
Максим
только если подключаться из под какого то клиента и писать кому попало(или по списку), ботом при этом прикинуться нельзя, на сколько я знаю
Dmitry
так в бан можно получить :(
Igor
Привет! Подскажите. Ставлю менеджер зависимостей glide на windows 10, открывается консоль, и сразу закрываается, glide не ставится
Igor
Сталкивался кто нибудь?
Artem
запусти с администратором
Igor
тоже самое :(
Artem
откорой консоль и запусти через консоль, скорее всего увидишь ошибку
Sergey
Igor
Aleksandr
ставь dep
Igor
что за dep?
Aleksandr
golang dep
Aleksandr
не трать время на glide
Sergey
.
Вопрос по архитектуре
.
В бизнес логику пихают логику обработки полей запроса?
Alexander
валидаторы в смысле ?
.
.
но через адаптер
bebebe
Максим
я? я для себя просто писал логи из телеги и моя задача решена, это просто был предложен вариант спросившему выше.
Timofey
Timofey
Pawel
Sergey
Кто пользуется squirrel подскажите, будет ли сбрасываться предыдущее значение если вызывать метод SetMap в цикле? Или можно в значение мапы вставить срез из значений?
Sergey
Сам и отвечу на свой вопрос.
SetMap позволяет только один раз установить значение, последующие вызовы заменяют предыдущее значение.
Для нескольких значений лучше подойдет Values
Tigran
Что вы делаете, если вам надо сделать мапу (два инта) -> что-то? Заводите вспомогательную структуру c двумя интами? Делаете map[int]map[int]...?
Andrei 🦉
Andrei 🦉
Andrei 🦉
у вас наверняка используется куча либ, которые под капотом насилуют рантайм рефлексию на полную, так что подобной оптимизацией обычно не имеет смысла заморачиватся
Vladislav
Можно просто структуру использовать. Зачем эти извращения?
Илья
Chebyrash
Max
Так, что тут за 🦉 ещё 🤔
Alexander
все любят совушек
freezlite
сложно дома сову держать?
Max
freezlite
:(
🏁Александр
зато сможете сидеть с ней вместе ночью :)
Max
Max
Им нужна отдельная комната
Max
Или вольер, если это условные сычики
Max
Но лучше на улице, конечно
Pawel
Pawel
Max
Anonymous
Tigran
почему не перформант?
ну, потому что одно дело взять хэш от двух интов, а другое - сконвертировать их в строки и взять хэш от строки
Tigran
V
https://en.wikipedia.org/wiki/Pairing_function
V
нужно только такое делать - вопрос, надо знать что там у гошной мапы под капотом, даже интересно стало
Stepan
forever := make(chan bool)
go func() {
for d := range msgs {
log.Printf(" [*] Waiting for messages. To exit press CTRL+C")
path, err = filepath.Abs(string(d.Body))
utils.Assert(err)
if _, err = os.Stat(path); os.IsNotExist(err) {
failOnError(err, "%s file doesn't exitst", d)
}
fmt.Println("Подошли к проверке")
avast := AvScan(path, 60)
fmt.Println("Прошел проверку")
avastJSON, err := json.Marshal(avast)
utils.Assert(err)
fmt.Println(string(avastJSON))
db, err := sql.Open("mysql", "****")
if err != nil {
panic(err.Error()) // Just for example purpose. You should use proper error handling instead of panic
}
defer db.Close()
sqlStatement := `INSERT INTO ResultTable (Module, Result, FileID) VALUES (?, ?, ?)`
_, err = db.Exec(sqlStatement, "Comodo", avastJSON, "10")
if err != nil {
panic(err.Error()) // proper error handling instead of panic in your app
}
}
}()
<-forever
}
Данный скрипт принимает сообщения из очереди, не могу понять почему он виснет после приема первого сообщения...
Stepan
На второе уже никак не реагирует