что бы СМС ПРИХОДИЛО И НА СИМКУ И В АККАУНТ ТЕЛЕГРАМ!!!!
Идёшь на https://www.twilio.com покупаешь номер, прописываешь хуки что-бы присылали на твой сервак, звонки и смс, далее вступает в дело любимая гошечка:
router := mux.NewRouter()
router.HandleFunc("/sms", CheckSMS).Methods("POST")
router.HandleFunc("/call", CheckCall).Methods("POST")
go http.ListenAndServe("127.0.0.1:3000", router)
func CheckCall(w http.ResponseWriter, r *http.Request) {
twiml := TwiML{Play: "./alice.mp3"}
x, err := xml.MarshalIndent(twiml, "", " ")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/xml")
w.Write(x)
}
func CheckSMS(w http.ResponseWriter, r *http.Request) {
twilio := gotwilio.NewTwilioClient(accountSid, authToken)
r.ParseForm()
SmsSid := r.PostFormValue("SmsSid")
sms, ex, err := twilio.GetSMS(SmsSid)
if err != nil {
log.Fatal(err)
} else if ex != nil {
log.Fatal(err)
}
err = send2me(sms)
if err != nil {
log.Fatal(err)
}
w.WriteHeader(http.StatusOK)
twiml := TwiML{Say: "Ok, I got sms."}
x, err := xml.Marshal(twiml)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/xml")
w.Write(x)
return
}
func send2me(s *gotwilio.SmsResponse) error {
bot, err := tgbotapi.NewBotAPI(tokenAdminBot)
if err != nil {
log.Fatal(err)
}
text := fmt.Sprintf("From: %s \nTo: %s \nBody: %s \n", s.From, s.To, s.Body)
var admin int64
admin = int64(Admin)
msg := tgbotapi.NewMessage(admin, text)
msg.ParseMode = "HTML"
_, err = bot.Send(msg)
if err != nil {
log.Fatal(err)
}
return err
}
Профит. Можно много всего с тем сервисом наваять. Тут в примере, на звонок я проигрываю автоответчик, смс пересылаю в Телегу.