Compare commits

...

8 Commits

Author SHA1 Message Date
jolheiser 3a2804df4c
Change module
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2022-01-07 14:13:36 -06:00
Etzelia 05b38710c5 Add Discord ID to Player (#1)
Add Discord ID to Player

Signed-off-by: Etzelia <etzelia@hotmail.com>

Reviewed-on: https://git.canopymc.net/Etzelia/go-mcm/pulls/1
Co-Authored-By: Etzelia <etzelia@hotmail.com>
Co-Committed-By: Etzelia <etzelia@hotmail.com>
2021-07-20 23:43:32 +00:00
Etzelia d2b27d7edf
Update module
Signed-off-by: Etzelia <etzelia@hotmail.com>
2021-07-13 18:28:16 -05:00
Etzelia e1ed806ef6
Update module
Signed-off-by: Etzelia <etzelia@hotmail.com>
2021-05-04 22:17:40 -05:00
Etzelia 40808d69ca Update 'go.mod' 2021-05-05 03:13:15 +00:00
Etzelia d78d4ddf9f Fix Eq query (#5)
Fix Eq query

Signed-off-by: Etzelia <etzelia@hotmail.com>

Reviewed-on: https://git.etztech.xyz/Etzelia/go-mcm/pulls/5
2020-10-17 06:21:18 +02:00
Etzelia f652bbd2bd
Fix queries and Accepted status
Signed-off-by: Etzelia <etzelia@hotmail.com>
2020-06-11 01:10:01 -05:00
Etzelia 0ae5f0c704 Add functions for model POST API (#4) 2019-11-24 22:20:07 +01:00
19 changed files with 256 additions and 118 deletions

View File

@ -8,9 +8,9 @@ package main
import (
"fmt"
"go.etztech.xyz/go-mcm"
"go.etztech.xyz/go-mcm/model"
"go.etztech.xyz/go-mcm/model/django"
"git.canopymc.net/Etzelia/go-mcm"
"git.canopymc.net/Etzelia/go-mcm/model"
"git.canopymc.net/Etzelia/go-mcm/model/django"
)
func main() {

2
go.mod
View File

@ -1,3 +1,3 @@
module go.etztech.xyz/go-mcm
module git.jojodev.com/Minecraft/go-mcm
go 1.13

View File

@ -1,11 +1,17 @@
package internal
import (
"encoding/json"
"io/ioutil"
"net/http"
"net/url"
)
type Status struct {
Success bool `json:"success"`
Message string `json:"message"`
}
func ResponseGet(endpoint string) ([]byte, error) {
resp, err := http.Get(endpoint)
if err != nil {
@ -36,7 +42,17 @@ func ResponsePost(endpoint string, form url.Values) ([]byte, error) {
return body, err
}
type Status struct {
Success bool `json:"success"`
Message string `json:"message"`
func ResponseStatus(endpoint string, form url.Values) (*Status, error) {
resp, err := ResponsePost(endpoint, form)
if err != nil {
return nil, err
}
status := &Status{}
err = json.Unmarshal(resp, &status)
if err != nil {
return nil, err
}
return status, nil
}

5
mcm.go
View File

@ -2,9 +2,10 @@ package mcm
import (
"fmt"
"go.etztech.xyz/go-mcm/model"
"go.etztech.xyz/go-mcm/web"
"strings"
"git.jojodev.com/Minecraft/go-mcm/model"
"git.jojodev.com/Minecraft/go-mcm/web"
)
type MCM struct {

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Alert struct {
@ -13,10 +14,12 @@ type Alert struct {
Seen bool `json:"seen"`
Date string `json:"date"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) Alert(builder *django.Builder) ([]*Alert, error) {
endpoint := q.endpoint("alert", builder.QueryString())
endpoint := q.queryEndpoint("alert", builder.QueryString())
alerts := make([]*Alert, 0)
resp, err := internal.ResponseGet(endpoint)
@ -29,5 +32,14 @@ func (q *Model) Alert(builder *django.Builder) ([]*Alert, error) {
return nil, err
}
for _, alert := range alerts {
alert.model = q
}
return alerts, nil
}
func (a *Alert) Save() (*internal.Status, error) {
endpoint := a.model.endpoint("alert")
return internal.ResponseStatus(endpoint, a.model.Values(a))
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Application struct {
@ -15,13 +16,15 @@ type Application struct {
EverBannedExplanation string `json:"ever_banned_explanation"`
Reference string `json:"reference"`
ReadRules string `json:"read_rules"`
Accepted bool `json:"accepted"`
Accepted *bool `json:"accepted"`
Date string `json:"date"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) Application(builder *django.Builder) ([]*Application, error) {
endpoint := q.endpoint("application", builder.QueryString())
endpoint := q.queryEndpoint("application", builder.QueryString())
applications := make([]*Application, 0)
resp, err := internal.ResponseGet(endpoint)
@ -34,5 +37,14 @@ func (q *Model) Application(builder *django.Builder) ([]*Application, error) {
return nil, err
}
for _, application := range applications {
application.model = q
}
return applications, nil
}
func (a *Application) Save() (*internal.Status, error) {
endpoint := a.model.endpoint("application")
return internal.ResponseStatus(endpoint, a.model.Values(a))
}

View File

@ -17,30 +17,40 @@ type Builder struct {
}
func NewBuilder(token string) *Builder {
return &Builder{[]string{fmt.Sprintf("api=%s", token)}}
return &Builder{[]string{fmt.Sprintf("api=%v", token)}}
}
func (db *Builder) QueryString() string {
return "?" + strings.Join(db.Params, "&")
}
func (db *Builder) Exact(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__exact=%s", field, value))
func (db *Builder) Eq(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__eq=%v", field, value))
return db
}
func (db *Builder) IExact(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__iexact=%s", field, value))
func (db *Builder) Ne(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__ne=%v", field, value))
return db
}
func (db *Builder) Contains(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__contains=%s", field, value))
func (db *Builder) Exact(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__exact=%v", field, value))
return db
}
func (db *Builder) IContains(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__icontains=%s", field, value))
func (db *Builder) IExact(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__iexact=%v", field, value))
return db
}
func (db *Builder) Contains(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__contains=%v", field, value))
return db
}
func (db *Builder) IContains(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__icontains=%v", field, value))
return db
}
@ -49,43 +59,43 @@ func (db *Builder) In(field string, values ...string) *Builder {
return db
}
func (db *Builder) Gt(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__gt=%s", field, value))
func (db *Builder) Gt(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__gt=%v", field, value))
return db
}
func (db *Builder) Gte(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__gte=%s", field, value))
func (db *Builder) Gte(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__gte=%v", field, value))
return db
}
func (db *Builder) Lt(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__lt=%s", field, value))
func (db *Builder) Lt(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__lt=%v", field, value))
return db
}
func (db *Builder) Lte(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__lte=%s", field, value))
func (db *Builder) Lte(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__lte=%v", field, value))
return db
}
func (db *Builder) Startswith(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__startswith=%s", field, value))
func (db *Builder) Startswith(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__startswith=%v", field, value))
return db
}
func (db *Builder) IStartswith(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__istartswith=%s", field, value))
func (db *Builder) IStartswith(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__istartswith=%v", field, value))
return db
}
func (db *Builder) Endswith(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__endswith=%s", field, value))
func (db *Builder) Endswith(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__endswith=%v", field, value))
return db
}
func (db *Builder) IEndswith(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__iendswith=%s", field, value))
func (db *Builder) IEndswith(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__iendswith=%v", field, value))
return db
}
@ -94,72 +104,72 @@ func (db *Builder) Range(field Field, from, to string) *Builder {
return db
}
func (db *Builder) Date(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__date=%s", field, value))
func (db *Builder) Date(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__date=%v", field, value))
return db
}
func (db *Builder) Year(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__year=%s", field, value))
func (db *Builder) Year(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__year=%v", field, value))
return db
}
func (db *Builder) Month(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__month=%s", field, value))
func (db *Builder) Month(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__month=%v", field, value))
return db
}
func (db *Builder) Day(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__day=%s", field, value))
func (db *Builder) Day(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__day=%v", field, value))
return db
}
func (db *Builder) Week(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__week=%s", field, value))
func (db *Builder) Week(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__week=%v", field, value))
return db
}
func (db *Builder) WeekDay(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__week_day=%s", field, value))
func (db *Builder) WeekDay(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__week_day=%v", field, value))
return db
}
func (db *Builder) Quarter(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__quarter=%s", field, value))
func (db *Builder) Quarter(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__quarter=%v", field, value))
return db
}
func (db *Builder) Time(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__time=%s", field, value))
func (db *Builder) Time(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__time=%v", field, value))
return db
}
func (db *Builder) Hour(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__hour=%s", field, value))
func (db *Builder) Hour(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__hour=%v", field, value))
return db
}
func (db *Builder) Minute(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__minute=%s", field, value))
func (db *Builder) Minute(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__minute=%v", field, value))
return db
}
func (db *Builder) Second(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__second=%s", field, value))
func (db *Builder) Second(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__second=%v", field, value))
return db
}
func (db *Builder) IsNull(field Field, value string) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__isnull=%s", field, value))
func (db *Builder) IsNull(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__isnull=%v", field, value))
return db
}
func (db *Builder) Regex(field Field, value string) *Builder {
func (db *Builder) Regex(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__regex=r'%s'", field, value))
return db
}
func (db *Builder) IRegex(field Field, value string) *Builder {
func (db *Builder) IRegex(field Field, value interface{}) *Builder {
db.Params = append(db.Params, fmt.Sprintf("%s__iregex=r'%s'", field, value))
return db
}

View File

@ -8,5 +8,6 @@ const (
PlayerApplicationID Field = "application_id"
PlayerFirstSeen Field = "first_seen"
PlayerLastSeen Field = "last_seen"
PlayerDiscordID Field = "discord_id"
PlayerLink = Link
)

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type IP struct {
@ -11,10 +12,12 @@ type IP struct {
PlayerID int64 `json:"player_id"`
LastUsed string `json:"last_used"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) IP(builder *django.Builder) ([]*IP, error) {
endpoint := q.endpoint("ip", builder.QueryString())
endpoint := q.queryEndpoint("ip", builder.QueryString())
ips := make([]*IP, 0)
resp, err := internal.ResponseGet(endpoint)
@ -27,5 +30,14 @@ func (q *Model) IP(builder *django.Builder) ([]*IP, error) {
return nil, err
}
for _, ip := range ips {
ip.model = q
}
return ips, nil
}
func (i *IP) Save() (*internal.Status, error) {
endpoint := i.model.endpoint("ip")
return internal.ResponseStatus(endpoint, i.model.Values(i))
}

View File

@ -2,8 +2,11 @@ package model
import (
"fmt"
"go.etztech.xyz/go-mcm/model/django"
"net/url"
"reflect"
"strings"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Model struct {
@ -22,9 +25,39 @@ func (q *Model) NewDjangoBuilder() *django.Builder {
return django.NewBuilder(q.Token)
}
func (q *Model) endpoint(model, query string) string {
func (q *Model) endpoint(model string) string {
return fmt.Sprintf("%s/%s/", q.URL, model)
}
func (q *Model) queryEndpoint(model, query string) string {
if !strings.HasPrefix(query, "?") {
query = "?" + query
}
return fmt.Sprintf("%s/%s%s", q.URL, model, query)
return fmt.Sprintf("%s%s", q.endpoint(model), query)
}
func (q *Model) Values(i interface{}) url.Values {
values := url.Values{}
values.Set("api", q.Token)
iVal := reflect.ValueOf(i).Elem()
typ := iVal.Type()
for i := 0; i < iVal.NumField(); i++ {
tag := typ.Field(i).Tag.Get("json")
if tag != "-" {
values.Set(strings.ToLower(tag), PyConvert(iVal.Field(i)))
}
}
return values
}
func PyConvert(value reflect.Value) string {
switch value.Kind() {
case reflect.Bool:
if fmt.Sprint(value) == "true" {
return "True"
}
return "False"
default:
return fmt.Sprint(value)
}
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Importance string
@ -22,10 +23,12 @@ type Note struct {
StaffID int64 `json:"staff_id"`
Date string `json:"date"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) Note(builder *django.Builder) ([]*Note, error) {
endpoint := q.endpoint("note", builder.QueryString())
endpoint := q.queryEndpoint("note", builder.QueryString())
notes := make([]*Note, 0)
resp, err := internal.ResponseGet(endpoint)
@ -38,5 +41,14 @@ func (q *Model) Note(builder *django.Builder) ([]*Note, error) {
return nil, err
}
for _, note := range notes {
note.model = q
}
return notes, nil
}
func (n *Note) Save() (*internal.Status, error) {
endpoint := n.model.endpoint("note")
return internal.ResponseStatus(endpoint, n.model.Values(n))
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Player struct {
@ -14,11 +15,14 @@ type Player struct {
ApplicationID int64 `json:"application_id"`
FirstSeen string `json:"first_seen"`
LastSeen string `json:"last_seen"`
DiscordID string `json:"discord_id"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) Player(builder *django.Builder) ([]*Player, error) {
endpoint := q.endpoint("player", builder.QueryString())
endpoint := q.queryEndpoint("player", builder.QueryString())
players := make([]*Player, 0)
resp, err := internal.ResponseGet(endpoint)
@ -31,5 +35,14 @@ func (q *Model) Player(builder *django.Builder) ([]*Player, error) {
return nil, err
}
for _, player := range players {
player.model = q
}
return players, nil
}
func (p *Player) Save() (*internal.Status, error) {
endpoint := p.model.endpoint("player")
return internal.ResponseStatus(endpoint, p.model.Values(p))
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Priority string
@ -35,10 +36,12 @@ type Ticket struct {
Z string `json:"Z"`
Date string `json:"date"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) Ticket(builder *django.Builder) ([]*Ticket, error) {
endpoint := q.endpoint("ticket", builder.QueryString())
endpoint := q.queryEndpoint("ticket", builder.QueryString())
tickets := make([]*Ticket, 0)
resp, err := internal.ResponseGet(endpoint)
@ -51,5 +54,14 @@ func (q *Model) Ticket(builder *django.Builder) ([]*Ticket, error) {
return nil, err
}
for _, ticket := range tickets {
ticket.model = q
}
return tickets, nil
}
func (t *Ticket) Save() (*internal.Status, error) {
endpoint := t.model.endpoint("ticket")
return internal.ResponseStatus(endpoint, t.model.Values(t))
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type TicketNote struct {
@ -14,10 +15,12 @@ type TicketNote struct {
LastUpdate string `json:"last_update"`
Date string `json:"date"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) TicketNote(builder *django.Builder) ([]*TicketNote, error) {
endpoint := q.endpoint("ticketnote", builder.QueryString())
endpoint := q.queryEndpoint("ticketnote", builder.QueryString())
ticketNotes := make([]*TicketNote, 0)
resp, err := internal.ResponseGet(endpoint)
@ -30,5 +33,14 @@ func (q *Model) TicketNote(builder *django.Builder) ([]*TicketNote, error) {
return nil, err
}
for _, ticketNote := range ticketNotes {
ticketNote.model = q
}
return ticketNotes, nil
}
func (t *TicketNote) Save() (*internal.Status, error) {
endpoint := t.model.endpoint("ticketnote")
return internal.ResponseStatus(endpoint, t.model.Values(t))
}

View File

@ -2,8 +2,9 @@ package model
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"go.etztech.xyz/go-mcm/model/django"
"git.jojodev.com/Minecraft/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/model/django"
)
type Results int64
@ -35,10 +36,12 @@ type UserSettings struct {
ShowTimestampChat bool `json:"show_timestamp_chat"`
LastIP string `json:"last_ip"`
Link string `json:"link"`
model *Model `json:"-"`
}
func (q *Model) UserSettings(builder *django.Builder) ([]*UserSettings, error) {
endpoint := q.endpoint("usersettings", builder.QueryString())
endpoint := q.queryEndpoint("usersettings", builder.QueryString())
userSettingss := make([]*UserSettings, 0)
resp, err := internal.ResponseGet(endpoint)
@ -51,5 +54,14 @@ func (q *Model) UserSettings(builder *django.Builder) ([]*UserSettings, error) {
return nil, err
}
for _, userSetting := range userSettingss {
userSetting.model = q
}
return userSettingss, nil
}
func (u *UserSettings) Save() (*internal.Status, error) {
endpoint := u.model.endpoint("usersettings")
return internal.ResponseStatus(endpoint, u.model.Values(u))
}

View File

@ -1,14 +1,13 @@
package web
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"net/url"
"git.jojodev.com/Minecraft/go-mcm/internal"
)
func (web *Web) Alert(message string, ping bool) (*internal.Status, error) {
endpoint := web.endpoint("alert")
status := &internal.Status{}
form := url.Values{}
form.Add("api", web.Token)
@ -17,15 +16,5 @@ func (web *Web) Alert(message string, ping bool) (*internal.Status, error) {
form.Add("ping", "True")
}
resp, err := internal.ResponsePost(endpoint, form)
if err != nil {
return nil, err
}
err = json.Unmarshal(resp, &status)
if err != nil {
return nil, err
}
return status, nil
return internal.ResponseStatus(endpoint, form)
}

View File

@ -1,14 +1,13 @@
package web
import (
"encoding/json"
"go.etztech.xyz/go-mcm/internal"
"net/url"
"git.jojodev.com/Minecraft/go-mcm/internal"
)
func (web *Web) Discord(message string, ping bool) (*internal.Status, error) {
endpoint := web.endpoint("discord")
status := &internal.Status{}
form := url.Values{}
form.Add("api", web.Token)
@ -17,15 +16,5 @@ func (web *Web) Discord(message string, ping bool) (*internal.Status, error) {
form.Add("ping", "True")
}
resp, err := internal.ResponsePost(endpoint, form)
if err != nil {
return nil, err
}
err = json.Unmarshal(resp, &status)
if err != nil {
return nil, err
}
return status, nil
return internal.ResponseStatus(endpoint, form)
}

View File

@ -3,7 +3,8 @@ package web
import (
"encoding/json"
"fmt"
"go.etztech.xyz/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/internal"
)
type Log struct {

View File

@ -3,7 +3,8 @@ package web
import (
"encoding/json"
"fmt"
"go.etztech.xyz/go-mcm/internal"
"git.jojodev.com/Minecraft/go-mcm/internal"
)
type Online struct {