1
0
mirror of https://github.com/mgerb/go-discord-bot synced 2026-01-09 08:32:48 +00:00
Files
go-discord-bot/server/scripts/restore-messages.go

50 lines
1.1 KiB
Go

package main
/**
This script will fetch all messages for the provided channel and store them in the database.
*/
import (
"log"
"github.com/bwmarrin/discordgo"
"github.com/mgerb/go-discord-bot/server/bot"
"github.com/mgerb/go-discord-bot/server/bothandlers"
"github.com/mgerb/go-discord-bot/server/config"
"github.com/mgerb/go-discord-bot/server/db"
)
// var everyoneChannel = "101198129352691712"
var everyoneChannel string
// this is a script to go through chat history and log old message into database
func restoreMessages(channelID string) {
config.Init()
db.Init()
session := bot.Start(config.Config.Token)
everyoneChannel = channelID
fetchMessages(session, "")
}
func fetchMessages(s *discordgo.Session, beforeID string) {
messages, err := s.ChannelMessages(everyoneChannel, 100, beforeID, "", "")
log.Println("Fetching new messages: " + messages[0].Timestamp)
if err != nil {
log.Fatal(err)
}
for _, m := range messages {
messageCreate := &discordgo.MessageCreate{
Message: m,
}
bothandlers.LoggerHandler(s, messageCreate)
}
if len(messages) == 100 {
fetchMessages(s, messages[len(messages)-1].ID)
}
}