package telegram import ( "context" "fmt" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal" "penahub.gitlab.yandexcloud.net/backend/tdlib/client" ) type TelegramClient struct { repo *dal.DAL TgClients []*client.Client WaitingClients map[string]WaitingClient } type WaitingClient struct { TdLibClient *client.Client PreviousReq AuthTgUserReq Authorizer *client.ClientAuthorizer } // todo come back saved tg accs to slice for check this status func NewTelegramClient(ctx context.Context, repo *dal.DAL) (*TelegramClient, error) { return &TelegramClient{ repo: repo, TgClients: make([]*client.Client, 0), WaitingClients: make(map[string]WaitingClient), }, nil } type AuthTgUserReq struct { ApiID int32 `json:"api_id"` ApiHash string `json:"api_hash"` PhoneNumber string `json:"phone_number"` Password string `json:"password"` } func (tg *TelegramClient) AddedToMap(data WaitingClient, id string) { fmt.Println("AddedToMap") tg.WaitingClients[id] = data } func (tg *TelegramClient) GetFromMap(id string) (WaitingClient, bool) { fmt.Println("GetFromMap") if data, ok := tg.WaitingClients[id]; ok { return data, true } return WaitingClient{}, false } func (tg *TelegramClient) SaveTgAccount() { } func (tg *TelegramClient) CreateChannel(channelName string, botID int64) (string, error) { return "", nil }