35 lines
805 B
Go
35 lines
805 B
Go
package controllers
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"main/mvc/models"
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type UserSendMesssageRequest struct {
|
|
Body string `form:"body" json:"body"`
|
|
}
|
|
|
|
func SendMesssage(tmplname string, group *gin.RouterGroup, s *models.Site) {
|
|
s.GinEngine.POST(tmplname, func(c *gin.Context) {
|
|
var requestData UserSendMesssageRequest
|
|
|
|
if err := c.ShouldBind(&requestData); err != nil {
|
|
c.Redirect(http.StatusFound, "/index/1?Ошибка при привязке данных к структуре")
|
|
return
|
|
}
|
|
|
|
message := fmt.Sprintf("Анонимное сообщение от юзера %s:\n\n%s", c.ClientIP(), requestData.Body)
|
|
|
|
go func() {
|
|
if err := s.Bot.SendMessage(message); err != nil {
|
|
log.Println("s.Bot.SendMessage() error: ", err)
|
|
}
|
|
}()
|
|
|
|
})
|
|
}
|