Compare commits

..

No commits in common. "main" and "replace-nitter" have entirely different histories.

2 changed files with 14 additions and 29 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
.env .env
hop.yml

40
main.go
View File

@ -7,8 +7,7 @@ import (
"os/signal" "os/signal"
"syscall" "syscall"
"strings" "strings"
"time" "regexp"
"math/rand"
"github.com/bwmarrin/discordgo" "github.com/bwmarrin/discordgo"
"github.com/spf13/viper" "github.com/spf13/viper"
@ -66,31 +65,6 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
return return
} }
if strings.HasPrefix(m.Content, "!ask") {
possibleAnswers := []string{
"Better not tell you now.",
"Signs point to yes.",
"My reply is no.",
"Yes.",
"Without a doubt.",
"I don't think so.",
"I doubt it.",
"NO!",
"Well... can't say for sure but maybe.",
"I think you need sleep.",
"Depends.",
"Skibidi dop dop dop yes yes yes gang gang!!!111",
"I don't think this is a good idea, honestly.",
"SHUT. THE. FUCK. UP",
"Hmm, let me think about that for a bit.",
}
rand.Seed(time.Now().Unix())
reply := possibleAnswers[rand.Intn(len(possibleAnswers))]
s.ChannelMessageSend(m.ChannelID, reply)
return
}
if strings.HasPrefix(m.Content, "!fart") { if strings.HasPrefix(m.Content, "!fart") {
c := strings.Fields(m.Content) c := strings.Fields(m.Content)
if len(c) == 1 { if len(c) == 1 {
@ -100,4 +74,16 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
} }
return return
} }
// check for reddit/twitter links and replace them with open source frontends
re := regexp.MustCompile(`(?i)((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)`)
result := re.FindStringSubmatch(m.Content)
// hard coded, group 2 contains the base url
if len(result) >= 3 {
if result[2] == "https://www.reddit.com" || result[2] == "https://reddit.com"{
s.ChannelMessageSend(m.ChannelID, fmt.Sprintf("<https://tedd.it%s>", result[4]))
} else if result[2] == "https://www.twitter.com" || result[2] == "https://twitter.com" {
s.ChannelMessageSend(m.ChannelID, fmt.Sprintf("<https://nitter.lacontrevoie.fr%s>", result[4]))
}
}
} }