mirror of
https://github.com/mgerb/go-discord-bot
synced 2026-01-09 08:32:48 +00:00
50 lines
1.1 KiB
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)
|
|
}
|
|
}
|