Compare commits
2 Commits
13f599c3b1
...
09d4dc8d64
Author | SHA1 | Date |
---|---|---|
Martyn | 09d4dc8d64 | |
Martyn | f4739ada59 |
|
@ -8,7 +8,6 @@ RUN cd /go/src/git.martyn.berlin/martyn/twitchsingstools/; make deps ; make stat
|
||||||
FROM scratch
|
FROM scratch
|
||||||
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
||||||
COPY --from=builder /go/src/git.martyn.berlin/martyn/twitchsingstools /app/
|
COPY --from=builder /go/src/git.martyn.berlin/martyn/twitchsingstools /app/
|
||||||
COPY strings.json /app/strings.json
|
|
||||||
COPY web/ /app/web/
|
COPY web/ /app/web/
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
CMD ["/app/twitchsingstools"]
|
CMD ["/app/twitchsingstools"]
|
||||||
|
|
|
@ -40,13 +40,22 @@ var DirectMsgRegex *regexp.Regexp = regexp.MustCompile(`^:(\w+)!\w+@\w+\.tmi\.tw
|
||||||
// command.
|
// command.
|
||||||
var CmdRegex *regexp.Regexp = regexp.MustCompile(`^!(\w+)\s?(\w+)?`)
|
var CmdRegex *regexp.Regexp = regexp.MustCompile(`^!(\w+)\s?(\w+)?`)
|
||||||
|
|
||||||
type OAuthCred struct {
|
type IRCOAuthCred struct {
|
||||||
|
|
||||||
// The bot account's OAuth password.
|
// The bot account's OAuth password.
|
||||||
Password string `json:"password,omitempty"`
|
Password string `json:"password,omitempty"`
|
||||||
|
|
||||||
// The developer application client ID. Used for API calls to Twitch.
|
// The developer application client ID. Used for API calls to Twitch.
|
||||||
|
Nick string `json:"nick,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type AppOAuthCred struct {
|
||||||
|
|
||||||
|
// The bot account's OAuth password.
|
||||||
ClientID string `json:"client_id,omitempty"`
|
ClientID string `json:"client_id,omitempty"`
|
||||||
|
|
||||||
|
// The developer application client ID. Used for API calls to Twitch.
|
||||||
|
ClientSecret string `json:"client_secret,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConfigStruct struct {
|
type ConfigStruct struct {
|
||||||
|
@ -61,8 +70,8 @@ type ConfigStruct struct {
|
||||||
type KardBot struct {
|
type KardBot struct {
|
||||||
Channel string
|
Channel string
|
||||||
conn net.Conn
|
conn net.Conn
|
||||||
IrcCredentials *OAuthCred
|
IrcCredentials *IRCOAuthCred
|
||||||
AppCredentials *OAuthCred
|
AppCredentials *AppOAuthCred
|
||||||
MsgRate time.Duration
|
MsgRate time.Duration
|
||||||
Name string
|
Name string
|
||||||
Port string
|
Port string
|
||||||
|
@ -288,15 +297,21 @@ func (bb *KardBot) ReadCredentials(credType string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// parses the file contents
|
// parses the file contents
|
||||||
var creds OAuthCred
|
if credType == "IRC" {
|
||||||
|
var creds IRCOAuthCred
|
||||||
dec := json.NewDecoder(strings.NewReader(string(credFile)))
|
dec := json.NewDecoder(strings.NewReader(string(credFile)))
|
||||||
if err = dec.Decode(&creds); nil != err && io.EOF != err {
|
if err = dec.Decode(&creds); nil != err && io.EOF != err {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if credType == "IRC" {
|
|
||||||
bb.IrcCredentials = &creds
|
bb.IrcCredentials = &creds
|
||||||
} else {
|
} else {
|
||||||
|
var creds AppOAuthCred
|
||||||
|
dec := json.NewDecoder(strings.NewReader(string(credFile)))
|
||||||
|
if err = dec.Decode(&creds); nil != err && io.EOF != err {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
bb.AppCredentials = &creds
|
bb.AppCredentials = &creds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ func TwitchAdminHandler(response http.ResponseWriter, request *http.Request) {
|
||||||
"https://id.twitch.tv/oauth2/token",
|
"https://id.twitch.tv/oauth2/token",
|
||||||
url.Values{
|
url.Values{
|
||||||
"client_id": {ircBot.AppCredentials.ClientID},
|
"client_id": {ircBot.AppCredentials.ClientID},
|
||||||
"client_secret": {ircBot.AppCredentials.Password},
|
"client_secret": {ircBot.AppCredentials.ClientSecret},
|
||||||
"code": {vars["code"]},
|
"code": {vars["code"]},
|
||||||
"grant_type": {"authorization_code"},
|
"grant_type": {"authorization_code"},
|
||||||
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}})
|
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}})
|
||||||
|
@ -306,7 +306,7 @@ func TwitchBackendHandler(response http.ResponseWriter, request *http.Request) {
|
||||||
"https://id.twitch.tv/oauth2/token",
|
"https://id.twitch.tv/oauth2/token",
|
||||||
url.Values{
|
url.Values{
|
||||||
"client_id": {ircBot.AppCredentials.ClientID},
|
"client_id": {ircBot.AppCredentials.ClientID},
|
||||||
"client_secret": {ircBot.AppCredentials.Password},
|
"client_secret": {ircBot.AppCredentials.ClientSecret},
|
||||||
"code": {vars["code"]},
|
"code": {vars["code"]},
|
||||||
"grant_type": {"authorization_code"},
|
"grant_type": {"authorization_code"},
|
||||||
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}})
|
"redirect_uri": {"https://" + ircBot.Config.ExternalUrl + "/twitchadmin"}})
|
||||||
|
|
Loading…
Reference in New Issue