Compare commits
	
		
			No commits in common. "09d4dc8d6435c324202507d4bc42e8e06338ea5c" and "13f599c3b138d2c94fb74c118561c56f65bab968" have entirely different histories.
		
	
	
		
			09d4dc8d64
			...
			13f599c3b1
		
	
		
					 3 changed files with 29 additions and 43 deletions
				
			
		| 
						 | 
					@ -8,6 +8,7 @@ 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,22 +40,13 @@ 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 IRCOAuthCred struct {
 | 
					type OAuthCred 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 {
 | 
				
			||||||
| 
						 | 
					@ -70,8 +61,8 @@ type ConfigStruct struct {
 | 
				
			||||||
type KardBot struct {
 | 
					type KardBot struct {
 | 
				
			||||||
	Channel     string
 | 
						Channel     string
 | 
				
			||||||
	conn        net.Conn
 | 
						conn        net.Conn
 | 
				
			||||||
	IrcCredentials *IRCOAuthCred
 | 
						IrcCredentials *OAuthCred
 | 
				
			||||||
	AppCredentials *AppOAuthCred
 | 
						AppCredentials *OAuthCred
 | 
				
			||||||
	MsgRate     time.Duration
 | 
						MsgRate     time.Duration
 | 
				
			||||||
	Name        string
 | 
						Name        string
 | 
				
			||||||
	Port        string
 | 
						Port        string
 | 
				
			||||||
| 
						 | 
					@ -297,21 +288,15 @@ func (bb *KardBot) ReadCredentials(credType string) error {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// parses the file contents
 | 
						// parses the file contents
 | 
				
			||||||
	if credType == "IRC" {
 | 
						var creds OAuthCred
 | 
				
			||||||
		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.ClientSecret},
 | 
									"client_secret": {ircBot.AppCredentials.Password},
 | 
				
			||||||
				"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.ClientSecret},
 | 
									"client_secret": {ircBot.AppCredentials.Password},
 | 
				
			||||||
				"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…
	
	Add table
		
		Reference in a new issue