telegram.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package third
  2. import (
  3. "fmt"
  4. jsoniter "github.com/json-iterator/go"
  5. mhayaHttp "github.com/mhaya/extend/http"
  6. "github.com/mhaya/game/game_cluster/internal/data"
  7. mhayaLogger "github.com/mhaya/logger"
  8. )
  9. type GetIfChannelResp struct {
  10. Result struct {
  11. Status string `json:"status"`
  12. } `json:"result"`
  13. }
  14. func GetIfChannel(userID string) int32 {
  15. ret := data.SdkConfig.Get(3)
  16. params := map[string]string{}
  17. rs, _, err := mhayaHttp.GET(fmt.Sprintf("%v%v/getChatMember?chat_id=%v&user_id=%v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, userID), params)
  18. if err != nil {
  19. mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v",
  20. ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, userID,
  21. err.Error())
  22. return 0
  23. }
  24. var resp GetIfChannelResp
  25. err = jsoniter.Unmarshal(rs, &resp)
  26. if err != nil {
  27. mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v",
  28. ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, userID,
  29. err.Error())
  30. return 0
  31. }
  32. if resp.Result.Status == "member" {
  33. return 1
  34. }
  35. return 0
  36. }