Skip to content
This repository was archived by the owner on Jan 31, 2023. It is now read-only.

Commit 6824a0e

Browse files
committed
Add NSFW checker
1 parent 6b62f99 commit 6824a0e

File tree

2 files changed

+86
-74
lines changed

2 files changed

+86
-74
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
v3.4.1
2+
- Add NSFW checker
3+
14
v3.4.0
25
- Remove Danbooru lewd
36
- Add pixiv R18

service/frontend/general_handler.go

+83-74
Original file line numberDiff line numberDiff line change
@@ -145,79 +145,56 @@ func Lewd(s *discordgo.Session, m *discordgo.MessageCreate) {
145145
)
146146

147147
if strings.HasPrefix(m.Content, Prefix) {
148-
SendNude := func(Data *database.DataFanart) bool {
149-
Color, err := engine.GetColor(config.TmpDir, m.Author.AvatarURL("128"))
150-
if err != nil {
151-
log.Error(err)
152-
}
153-
154-
if Data.State == config.PixivArt {
155-
embed = engine.NewEmbed().
156-
SetAuthor(m.Author.Username, m.Author.AvatarURL("128")).
157-
SetTitle(Data.Author).
158-
SetDescription(RemovePic(Data.Text)).
159-
SetURL(Data.PermanentURL).
160-
SetImage(config.PixivProxy+Pic).
161-
SetColor(Color).
162-
InlineAllFields().
163-
SetFooter(Msg, config.PixivIMG).MessageEmbed
164-
} else {
165-
embed = engine.NewEmbed().
166-
SetAuthor(m.Author.Username, m.Author.AvatarURL("128")).
167-
SetTitle(Data.Author).
168-
SetThumbnail(engine.GetAuthorAvatar(Data.Author)).
169-
SetDescription(RemovePic(Data.Text)).
170-
SetURL(Data.PermanentURL).
171-
SetImage(Pic).
172-
SetColor(Color).
173-
InlineAllFields().
174-
SetFooter(Msg, config.TwitterIMG).MessageEmbed
175-
}
176-
msg, err := s.ChannelMessageSendEmbed(m.ChannelID, embed)
177-
if err != nil {
178-
log.Error(err, msg)
179-
}
180-
err = engine.Reacting(map[string]string{
181-
"ChannelID": m.ChannelID,
182-
"Content": m.Content,
183-
"Prefix": Prefix,
184-
}, s)
185-
if err != nil {
186-
log.Error(err)
187-
}
188-
return true
148+
ChannelRaw, err := s.Channel(m.ChannelID)
149+
if err != nil {
150+
log.Error(err)
189151
}
190-
for _, GroupData := range Payload.VtuberData {
191-
if m.Content == strings.ToLower(Prefix+GroupData.GroupName) {
192-
FanArtData, err := database.GetLewd(GroupData.ID, 0)
152+
if ChannelRaw.NSFW {
153+
SendNude := func(Data *database.DataFanart) bool {
154+
Color, err := engine.GetColor(config.TmpDir, m.Author.AvatarURL("128"))
193155
if err != nil {
194156
log.Error(err)
195-
s.ChannelMessageSend(m.ChannelID, "Opps,something goes worng,like dev life\n"+err.Error())
196-
return
197157
}
198158

199-
if FanArtData.Videos != "" {
200-
Msg = "Video type,check original post"
201-
Pic = config.NotFound
202-
} else if len(FanArtData.Photos) > 0 {
203-
Pic = FanArtData.Photos[0]
204-
Msg = "1/" + strconv.Itoa(len(FanArtData.Photos)) + " Photos"
159+
if Data.State == config.PixivArt {
160+
embed = engine.NewEmbed().
161+
SetAuthor(m.Author.Username, m.Author.AvatarURL("128")).
162+
SetTitle(Data.Author).
163+
SetDescription(RemovePic(Data.Text)).
164+
SetURL(Data.PermanentURL).
165+
SetImage(config.PixivProxy+Pic).
166+
SetColor(Color).
167+
InlineAllFields().
168+
SetFooter(Msg, config.PixivIMG).MessageEmbed
169+
} else {
170+
embed = engine.NewEmbed().
171+
SetAuthor(m.Author.Username, m.Author.AvatarURL("128")).
172+
SetTitle(Data.Author).
173+
SetThumbnail(engine.GetAuthorAvatar(Data.Author)).
174+
SetDescription(RemovePic(Data.Text)).
175+
SetURL(Data.PermanentURL).
176+
SetImage(Pic).
177+
SetColor(Color).
178+
InlineAllFields().
179+
SetFooter(Msg, config.TwitterIMG).MessageEmbed
205180
}
206-
207-
for _, v := range GroupData.Members {
208-
if v.ID == FanArtData.Member.ID {
209-
FanArtData.AddMember(v)
210-
break
211-
}
181+
msg, err := s.ChannelMessageSendEmbed(m.ChannelID, embed)
182+
if err != nil {
183+
log.Error(err, msg)
212184
}
213-
214-
Group = SendNude(FanArtData)
215-
break
185+
err = engine.Reacting(map[string]string{
186+
"ChannelID": m.ChannelID,
187+
"Content": m.Content,
188+
"Prefix": Prefix,
189+
}, s)
190+
if err != nil {
191+
log.Error(err)
192+
}
193+
return true
216194
}
217-
218-
for _, MemberData := range GroupData.Members {
219-
if m.Content == strings.ToLower(Prefix+MemberData.Name) || m.Content == strings.ToLower(Prefix+MemberData.JpName) {
220-
FanArtData, err := database.GetLewd(0, MemberData.ID)
195+
for _, GroupData := range Payload.VtuberData {
196+
if m.Content == strings.ToLower(Prefix+GroupData.GroupName) {
197+
FanArtData, err := database.GetLewd(GroupData.ID, 0)
221198
if err != nil {
222199
log.Error(err)
223200
s.ChannelMessageSend(m.ChannelID, "Opps,something goes worng,like dev life\n"+err.Error())
@@ -228,23 +205,55 @@ func Lewd(s *discordgo.Session, m *discordgo.MessageCreate) {
228205
Msg = "Video type,check original post"
229206
Pic = config.NotFound
230207
} else if len(FanArtData.Photos) > 0 {
231-
Msg = "1/" + strconv.Itoa(len(FanArtData.Photos)) + " Photos"
232208
Pic = FanArtData.Photos[0]
209+
Msg = "1/" + strconv.Itoa(len(FanArtData.Photos)) + " Photos"
233210
}
234211

235-
FanArtData.AddMember(MemberData)
236-
Member = SendNude(FanArtData)
212+
for _, v := range GroupData.Members {
213+
if v.ID == FanArtData.Member.ID {
214+
FanArtData.AddMember(v)
215+
break
216+
}
217+
}
218+
219+
Group = SendNude(FanArtData)
237220
break
238221
}
222+
223+
for _, MemberData := range GroupData.Members {
224+
if m.Content == strings.ToLower(Prefix+MemberData.Name) || m.Content == strings.ToLower(Prefix+MemberData.JpName) {
225+
FanArtData, err := database.GetLewd(0, MemberData.ID)
226+
if err != nil {
227+
log.Error(err)
228+
s.ChannelMessageSend(m.ChannelID, "Opps,something goes worng,like dev life\n"+err.Error())
229+
return
230+
}
231+
232+
if FanArtData.Videos != "" {
233+
Msg = "Video type,check original post"
234+
Pic = config.NotFound
235+
} else if len(FanArtData.Photos) > 0 {
236+
Msg = "1/" + strconv.Itoa(len(FanArtData.Photos)) + " Photos"
237+
Pic = FanArtData.Photos[0]
238+
}
239+
240+
FanArtData.AddMember(MemberData)
241+
Member = SendNude(FanArtData)
242+
break
243+
}
244+
}
239245
}
240-
}
241246

242-
if Member || Group {
243-
return
244-
}
247+
if Member || Group {
248+
return
249+
}
245250

246-
if !Group && !Member {
247-
s.ChannelMessageSend(m.ChannelID, "`"+m.Content[len(Prefix):]+"` was invalid name")
251+
if !Group && !Member {
252+
s.ChannelMessageSend(m.ChannelID, "`"+m.Content[len(Prefix):]+"` was invalid name")
253+
}
254+
} else {
255+
s.ChannelMessageSend(m.ChannelID, "i know you horny,but this channel was not a NSFW channel")
256+
return
248257
}
249258
}
250259
}

0 commit comments

Comments
 (0)