added tg client need test
This commit is contained in:
parent
67a1043f52
commit
c7a1364ac1
28
app/app.go
28
app/app.go
@ -8,7 +8,6 @@ import (
|
|||||||
"github.com/skeris/appInit"
|
"github.com/skeris/appInit"
|
||||||
"github.com/themakers/hlog"
|
"github.com/themakers/hlog"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"go.uber.org/zap/zapcore"
|
|
||||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/privilege"
|
"penahub.gitlab.yandexcloud.net/backend/penahub_common/privilege"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
|
||||||
@ -17,12 +16,12 @@ import (
|
|||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/brokers"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/brokers"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/clients/auth"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/clients/auth"
|
||||||
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/clients/telegram"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/initialize"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/initialize"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/models"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/models"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/server"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/server"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/service"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/service"
|
||||||
"penahub.gitlab.yandexcloud.net/backend/quiz/core/tools"
|
"penahub.gitlab.yandexcloud.net/backend/quiz/core/tools"
|
||||||
"penahub.gitlab.yandexcloud.net/external/trashlog.git/wrappers/zaptrashlog"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -69,6 +68,8 @@ type Options struct {
|
|||||||
TrashLogHost string `env:"TRASH_LOG_HOST" default:"localhost:7113"`
|
TrashLogHost string `env:"TRASH_LOG_HOST" default:"localhost:7113"`
|
||||||
ModuleLogger string `env:"MODULE_LOGGER" default:"core-local"`
|
ModuleLogger string `env:"MODULE_LOGGER" default:"core-local"`
|
||||||
ClickHouseCred string `env:"CLICK_HOUSE_CRED" default:"tcp://10.8.0.15:9000/default?sslmode=disable"`
|
ClickHouseCred string `env:"CLICK_HOUSE_CRED" default:"tcp://10.8.0.15:9000/default?sslmode=disable"`
|
||||||
|
ApiID int32 `env:"TG_API_ID" default:""`
|
||||||
|
ApiHash string `env:"TG_API_HASH" default:""`
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.CommonApp, error) {
|
func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.CommonApp, error) {
|
||||||
@ -102,16 +103,16 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
|
|||||||
zap.String("SvcBuildTime", ver.BuildTime),
|
zap.String("SvcBuildTime", ver.BuildTime),
|
||||||
)
|
)
|
||||||
|
|
||||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, options.TrashLogHost, ver.Release, ver.Commit, time.Now().Unix())
|
//clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, options.TrashLogHost, ver.Release, ver.Commit, time.Now().Unix())
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
panic(err)
|
// panic(err)
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//loggerForHlog := zapLogger.WithOptions(zap.WrapCore(func(core zapcore.Core) zapcore.Core {
|
||||||
|
// return zapcore.NewTee(core, clickHouseLogger)
|
||||||
|
//}))
|
||||||
|
|
||||||
loggerForHlog := zapLogger.WithOptions(zap.WrapCore(func(core zapcore.Core) zapcore.Core {
|
loggerHlog := hlog.New(zapLogger).Module(options.ModuleLogger)
|
||||||
return zapcore.NewTee(core, clickHouseLogger)
|
|
||||||
}))
|
|
||||||
|
|
||||||
loggerHlog := hlog.New(loggerForHlog).Module(options.ModuleLogger)
|
|
||||||
loggerHlog.With(models.AllFields{})
|
loggerHlog.With(models.AllFields{})
|
||||||
loggerHlog.Emit(InfoSvcStarted{})
|
loggerHlog.Emit(InfoSvcStarted{})
|
||||||
|
|
||||||
@ -152,6 +153,11 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
|
|||||||
privilegeController := privilege.NewPrivilege(clientData, fiberClient)
|
privilegeController := privilege.NewPrivilege(clientData, fiberClient)
|
||||||
go tools.PublishPrivilege(privilegeController, 10, 5*time.Minute)
|
go tools.PublishPrivilege(privilegeController, 10, 5*time.Minute)
|
||||||
|
|
||||||
|
_, err = telegram.NewTelegramClient(options.ApiID, options.ApiHash)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Sprintf("Error init tg_client: %v", err))
|
||||||
|
}
|
||||||
|
|
||||||
// todo подумать над реализацией всего а то пока мне кажется что немного каша получается такой предикт что через некоторое время
|
// todo подумать над реализацией всего а то пока мне кажется что немного каша получается такой предикт что через некоторое время
|
||||||
// сложно будет разобраться что есть где
|
// сложно будет разобраться что есть где
|
||||||
grpcControllers := initialize.InitRpcControllers(pgdal)
|
grpcControllers := initialize.InitRpcControllers(pgdal)
|
||||||
|
50
clients/telegram/tg.go
Normal file
50
clients/telegram/tg.go
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package telegram
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/zelenin/go-tdlib/client"
|
||||||
|
)
|
||||||
|
|
||||||
|
type TelegramClient struct {
|
||||||
|
Client *client.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewTelegramClient(apiID int32, apiHash string) (*TelegramClient, error) {
|
||||||
|
authorizer := client.ClientAuthorizer()
|
||||||
|
go client.CliInteractor(authorizer)
|
||||||
|
|
||||||
|
authorizer.TdlibParameters <- &client.SetTdlibParametersRequest{
|
||||||
|
UseTestDc: false,
|
||||||
|
//DatabaseDirectory: filepath.Join(".tdlib", "database"),
|
||||||
|
//FilesDirectory: filepath.Join(".tdlib", "files"),
|
||||||
|
UseFileDatabase: false,
|
||||||
|
UseChatInfoDatabase: false,
|
||||||
|
UseMessageDatabase: false,
|
||||||
|
UseSecretChats: true,
|
||||||
|
ApiId: apiID,
|
||||||
|
ApiHash: apiHash,
|
||||||
|
SystemLanguageCode: "en",
|
||||||
|
DeviceModel: "Server",
|
||||||
|
SystemVersion: "1.0.0",
|
||||||
|
ApplicationVersion: "1.0.0",
|
||||||
|
}
|
||||||
|
|
||||||
|
tdlibClient, err := client.NewClient(authorizer)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
me, err := tdlibClient.GetMe()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
fmt.Printf("Me: %s %s [%v]", me.FirstName, me.LastName, me.Usernames)
|
||||||
|
|
||||||
|
return &TelegramClient{
|
||||||
|
Client: tdlibClient,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tg *TelegramClient) CreateChannel(channelName string, botID int64) (string, error) {
|
||||||
|
return "", nil
|
||||||
|
}
|
2
go.mod
2
go.mod
@ -24,6 +24,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/Arman92/go-tdlib v1.0.0 // indirect
|
||||||
github.com/ClickHouse/clickhouse-go v1.5.4 // indirect
|
github.com/ClickHouse/clickhouse-go v1.5.4 // indirect
|
||||||
github.com/andybalholm/brotli v1.1.0 // indirect
|
github.com/andybalholm/brotli v1.1.0 // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||||
@ -57,6 +58,7 @@ require (
|
|||||||
github.com/valyala/tcplisten v1.0.0 // indirect
|
github.com/valyala/tcplisten v1.0.0 // indirect
|
||||||
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect
|
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect
|
||||||
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 // indirect
|
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 // indirect
|
||||||
|
github.com/zelenin/go-tdlib v0.7.2 // indirect
|
||||||
go.etcd.io/bbolt v1.3.10 // indirect
|
go.etcd.io/bbolt v1.3.10 // indirect
|
||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
golang.org/x/crypto v0.24.0 // indirect
|
golang.org/x/crypto v0.24.0 // indirect
|
||||||
|
4
go.sum
4
go.sum
@ -1,4 +1,6 @@
|
|||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
|
github.com/Arman92/go-tdlib v1.0.0 h1:ioj9TlKXjmVfyc6LwyTb4bje1WhrhCUzlJlmYxow3w8=
|
||||||
|
github.com/Arman92/go-tdlib v1.0.0/go.mod h1:gz/NLfLyXSF3LufhmK4a+xcrlIvAUR67zxOWv0JxvsU=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
|
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
|
||||||
github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
|
github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
|
||||||
@ -164,6 +166,8 @@ github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 h1:hPVCafDV85blFTabnqKgNh
|
|||||||
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=
|
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=
|
||||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
|
github.com/zelenin/go-tdlib v0.7.2 h1:XpD77+t3bix62TsEZbuQeDls6QQJbcovpb8SVVfyNAA=
|
||||||
|
github.com/zelenin/go-tdlib v0.7.2/go.mod h1:yqNbNZenZtXPKgf9hDuyZbsRz7qlxOxdfKOc+sAxxIE=
|
||||||
go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0=
|
go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0=
|
||||||
go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ=
|
go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ=
|
||||||
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||||
|
Loading…
Reference in New Issue
Block a user