mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-26 17:43:21 +01:00
fix(lint): fixing more complex formatters problems.
This commit is contained in:
@@ -693,7 +693,7 @@ func BenchmarkSlicesContains(b *testing.B) {
|
|||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
slices.Contains(courses, target)
|
_ = slices.Contains(courses, target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -708,6 +708,6 @@ func BenchmarkSlicesIndexFunc(b *testing.B) {
|
|||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
slices.IndexFunc(courses, predicate)
|
_ = slices.IndexFunc(courses, predicate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,69 +4,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
"golang.org/x/crypto/bcrypt"
|
"golang.org/x/crypto/bcrypt"
|
||||||
"sort"
|
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Player struct {
|
|
||||||
CharName string
|
|
||||||
QuestID int
|
|
||||||
}
|
|
||||||
|
|
||||||
func getPlayerSlice(s *Server) []Player {
|
|
||||||
var p []Player
|
|
||||||
var questIndex int
|
|
||||||
|
|
||||||
for _, channel := range s.Channels {
|
|
||||||
for _, stage := range channel.stages {
|
|
||||||
if len(stage.clients) == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
questID := 0
|
|
||||||
if stage.isQuest() {
|
|
||||||
questIndex++
|
|
||||||
questID = questIndex
|
|
||||||
}
|
|
||||||
for client := range stage.clients {
|
|
||||||
p = append(p, Player{
|
|
||||||
CharName: client.Name,
|
|
||||||
QuestID: questID,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func getCharacterList(s *Server) string {
|
|
||||||
questEmojis := []string{
|
|
||||||
":person_in_lotus_position:",
|
|
||||||
":white_circle:",
|
|
||||||
":red_circle:",
|
|
||||||
":blue_circle:",
|
|
||||||
":brown_circle:",
|
|
||||||
":green_circle:",
|
|
||||||
":purple_circle:",
|
|
||||||
":yellow_circle:",
|
|
||||||
":orange_circle:",
|
|
||||||
":black_circle:",
|
|
||||||
}
|
|
||||||
|
|
||||||
playerSlice := getPlayerSlice(s)
|
|
||||||
|
|
||||||
sort.SliceStable(playerSlice, func(i, j int) bool {
|
|
||||||
return playerSlice[i].QuestID < playerSlice[j].QuestID
|
|
||||||
})
|
|
||||||
|
|
||||||
message := fmt.Sprintf("===== Online: %d =====\n", len(playerSlice))
|
|
||||||
for _, player := range playerSlice {
|
|
||||||
message += fmt.Sprintf("%s %s", questEmojis[player.QuestID], player.CharName)
|
|
||||||
}
|
|
||||||
|
|
||||||
return message
|
|
||||||
}
|
|
||||||
|
|
||||||
// onInteraction handles slash commands
|
// onInteraction handles slash commands
|
||||||
func (s *Server) onInteraction(ds *discordgo.Session, i *discordgo.InteractionCreate) {
|
func (s *Server) onInteraction(ds *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||||
switch i.Interaction.ApplicationCommandData().Name {
|
switch i.Interaction.ApplicationCommandData().Name {
|
||||||
|
|||||||
@@ -642,6 +642,10 @@ func handleMsgMhfOperateGuild(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
pkt := p.(*mhfpacket.MsgMhfOperateGuild)
|
pkt := p.(*mhfpacket.MsgMhfOperateGuild)
|
||||||
|
|
||||||
guild, err := GetGuildInfoByID(s, pkt.GuildID)
|
guild, err := GetGuildInfoByID(s, pkt.GuildID)
|
||||||
|
if err != nil {
|
||||||
|
doAckSimpleFail(s, pkt.AckHandle, make([]byte, 4))
|
||||||
|
return
|
||||||
|
}
|
||||||
characterGuildInfo, err := GetCharacterGuildData(s, s.charID)
|
characterGuildInfo, err := GetCharacterGuildData(s, s.charID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
doAckSimpleFail(s, pkt.AckHandle, make([]byte, 4))
|
doAckSimpleFail(s, pkt.AckHandle, make([]byte, 4))
|
||||||
@@ -1535,9 +1539,9 @@ func handleMsgMhfEnumerateGuildMember(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
func handleMsgMhfGetGuildManageRight(s *Session, p mhfpacket.MHFPacket) {
|
func handleMsgMhfGetGuildManageRight(s *Session, p mhfpacket.MHFPacket) {
|
||||||
pkt := p.(*mhfpacket.MsgMhfGetGuildManageRight)
|
pkt := p.(*mhfpacket.MsgMhfGetGuildManageRight)
|
||||||
|
|
||||||
guild, err := GetGuildInfoByCharacterId(s, s.charID)
|
guild, _ := GetGuildInfoByCharacterId(s, s.charID)
|
||||||
if guild == nil || s.prevGuildID != 0 {
|
if guild == nil || s.prevGuildID != 0 {
|
||||||
guild, err = GetGuildInfoByID(s, s.prevGuildID)
|
guild, err := GetGuildInfoByID(s, s.prevGuildID)
|
||||||
s.prevGuildID = 0
|
s.prevGuildID = 0
|
||||||
if guild == nil || err != nil {
|
if guild == nil || err != nil {
|
||||||
doAckBufSucceed(s, pkt.AckHandle, make([]byte, 4))
|
doAckBufSucceed(s, pkt.AckHandle, make([]byte, 4))
|
||||||
|
|||||||
@@ -190,13 +190,13 @@ func handleMsgMhfAnswerGuildScout(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
func handleMsgMhfGetGuildScoutList(s *Session, p mhfpacket.MHFPacket) {
|
func handleMsgMhfGetGuildScoutList(s *Session, p mhfpacket.MHFPacket) {
|
||||||
pkt := p.(*mhfpacket.MsgMhfGetGuildScoutList)
|
pkt := p.(*mhfpacket.MsgMhfGetGuildScoutList)
|
||||||
|
|
||||||
guildInfo, err := GetGuildInfoByCharacterId(s, s.charID)
|
guildInfo, _ := GetGuildInfoByCharacterId(s, s.charID)
|
||||||
|
|
||||||
if guildInfo == nil && s.prevGuildID == 0 {
|
if guildInfo == nil && s.prevGuildID == 0 {
|
||||||
doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4))
|
doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4))
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
guildInfo, err = GetGuildInfoByID(s, s.prevGuildID)
|
guildInfo, err := GetGuildInfoByID(s, s.prevGuildID)
|
||||||
if guildInfo == nil || err != nil {
|
if guildInfo == nil || err != nil {
|
||||||
doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4))
|
doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -442,13 +442,6 @@ func addWarehouseItem(s *Session, item mhfitem.MHFItemStack) {
|
|||||||
s.server.db.Exec("UPDATE warehouse SET item10=$1 WHERE character_id=$2", mhfitem.SerializeWarehouseItems(giftBox), s.charID)
|
s.server.db.Exec("UPDATE warehouse SET item10=$1 WHERE character_id=$2", mhfitem.SerializeWarehouseItems(giftBox), s.charID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func addWarehouseEquipment(s *Session, equipment mhfitem.MHFEquipment) {
|
|
||||||
giftBox := warehouseGetEquipment(s, 10)
|
|
||||||
equipment.WarehouseID = token.RNG.Uint32()
|
|
||||||
giftBox = append(giftBox, equipment)
|
|
||||||
s.server.db.Exec("UPDATE warehouse SET equip10=$1 WHERE character_id=$2", mhfitem.SerializeWarehouseEquipment(giftBox), s.charID)
|
|
||||||
}
|
|
||||||
|
|
||||||
func warehouseGetItems(s *Session, index uint8) []mhfitem.MHFItemStack {
|
func warehouseGetItems(s *Session, index uint8) []mhfitem.MHFItemStack {
|
||||||
initializeWarehouse(s)
|
initializeWarehouse(s)
|
||||||
var data []byte
|
var data []byte
|
||||||
|
|||||||
@@ -469,10 +469,10 @@ func handleMsgMhfPlayNormalGacha(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
entries = append(entries, entry)
|
entries = append(entries, entry)
|
||||||
}
|
}
|
||||||
|
|
||||||
rewardEntries, err := getRandomEntries(entries, rolls, false)
|
rewardEntries, _ := getRandomEntries(entries, rolls, false)
|
||||||
temp := byteframe.NewByteFrame()
|
temp := byteframe.NewByteFrame()
|
||||||
for i := range rewardEntries {
|
for i := range rewardEntries {
|
||||||
rows, err = s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
rows, err := s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -525,10 +525,10 @@ func handleMsgMhfPlayStepupGacha(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
guaranteedItems := getGuaranteedItems(s, pkt.GachaID, pkt.RollType)
|
guaranteedItems := getGuaranteedItems(s, pkt.GachaID, pkt.RollType)
|
||||||
rewardEntries, err := getRandomEntries(entries, rolls, false)
|
rewardEntries, _ := getRandomEntries(entries, rolls, false)
|
||||||
temp := byteframe.NewByteFrame()
|
temp := byteframe.NewByteFrame()
|
||||||
for i := range rewardEntries {
|
for i := range rewardEntries {
|
||||||
rows, err = s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
rows, err := s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -621,7 +621,7 @@ func handleMsgMhfPlayBoxGacha(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
entries = append(entries, entry)
|
entries = append(entries, entry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rewardEntries, err := getRandomEntries(entries, rolls, true)
|
rewardEntries, _ := getRandomEntries(entries, rolls, true)
|
||||||
for i := range rewardEntries {
|
for i := range rewardEntries {
|
||||||
items, err := s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
items, err := s.server.db.Queryx(`SELECT item_type, item_id, quantity FROM gacha_items WHERE entry_id = $1`, rewardEntries[i].ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -84,15 +84,3 @@ func (s *Stage) BroadcastMHF(pkt mhfpacket.MHFPacket, ignoredSession *Session) {
|
|||||||
session.QueueSendNonBlocking(bf.Data())
|
session.QueueSendNonBlocking(bf.Data())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Stage) isCharInQuestByID(charID uint32) bool {
|
|
||||||
if _, exists := s.reservedClientSlots[charID]; exists {
|
|
||||||
return exists
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Stage) isQuest() bool {
|
|
||||||
return len(s.reservedClientSlots) > 0
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ func (s *Server) getFriendsForCharacters(chars []character) []members {
|
|||||||
friends := make([]members, 0)
|
friends := make([]members, 0)
|
||||||
for _, char := range chars {
|
for _, char := range chars {
|
||||||
friendsCSV := ""
|
friendsCSV := ""
|
||||||
err := s.db.QueryRow("SELECT friends FROM characters WHERE id=$1", char.ID).Scan(&friendsCSV)
|
_ = s.db.QueryRow("SELECT friends FROM characters WHERE id=$1", char.ID).Scan(&friendsCSV)
|
||||||
friendsSlice := strings.Split(friendsCSV, ",")
|
friendsSlice := strings.Split(friendsCSV, ",")
|
||||||
friendQuery := "SELECT id, name FROM characters WHERE id="
|
friendQuery := "SELECT id, name FROM characters WHERE id="
|
||||||
for i := 0; i < len(friendsSlice); i++ {
|
for i := 0; i < len(friendsSlice); i++ {
|
||||||
@@ -130,7 +130,7 @@ func (s *Server) getFriendsForCharacters(chars []character) []members {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
charFriends := make([]members, 0)
|
charFriends := make([]members, 0)
|
||||||
err = s.db.Select(&charFriends, friendQuery)
|
err := s.db.Select(&charFriends, friendQuery)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -173,6 +173,9 @@ func (s *Server) deleteCharacter(cid int, token string, tokenID uint32) error {
|
|||||||
}
|
}
|
||||||
var isNew bool
|
var isNew bool
|
||||||
err := s.db.QueryRow("SELECT is_new_character FROM characters WHERE id = $1", cid).Scan(&isNew)
|
err := s.db.QueryRow("SELECT is_new_character FROM characters WHERE id = $1", cid).Scan(&isNew)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if isNew {
|
if isNew {
|
||||||
_, err = s.db.Exec("DELETE FROM characters WHERE id = $1", cid)
|
_, err = s.db.Exec("DELETE FROM characters WHERE id = $1", cid)
|
||||||
} else {
|
} else {
|
||||||
@@ -184,19 +187,6 @@ func (s *Server) deleteCharacter(cid int, token string, tokenID uint32) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unused
|
|
||||||
func (s *Server) checkToken(uid uint32) (bool, error) {
|
|
||||||
var exists int
|
|
||||||
err := s.db.QueryRow("SELECT count(*) FROM sign_sessions WHERE user_id = $1", uid).Scan(&exists)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
if exists > 0 {
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Server) registerUidToken(uid uint32) (uint32, string, error) {
|
func (s *Server) registerUidToken(uid uint32) (uint32, string, error) {
|
||||||
_token := token.Generate(16)
|
_token := token.Generate(16)
|
||||||
var tid uint32
|
var tid uint32
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ type Server struct {
|
|||||||
sync.Mutex
|
sync.Mutex
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
erupeConfig *_config.Config
|
erupeConfig *_config.Config
|
||||||
sessions map[int]*Session
|
|
||||||
db *sqlx.DB
|
db *sqlx.DB
|
||||||
listener net.Listener
|
listener net.Listener
|
||||||
isShuttingDown bool
|
isShuttingDown bool
|
||||||
|
|||||||
Reference in New Issue
Block a user