feat: sending messages works

This commit is contained in:
Andrew Glaze
2026-03-20 17:53:29 -04:00
parent df3cb95c91
commit 4d39ed8053
8 changed files with 240 additions and 157 deletions

View File

@@ -4,7 +4,7 @@ import SwiftDotenv
@main
struct Zundamon {
//nonisolated(unsafe) static private(set) var ownID: UserSnowflake? = nil
nonisolated(unsafe) static private(set) var ownID: String? = nil
static func main() async throws {
if case .failure = Result(catching: { try Dotenv.configure() }) {
@@ -16,9 +16,10 @@ struct Zundamon {
guard !token.isEmpty else { fatalError("Err: Empty DISCORD_TOKEN. Exiting...") }
let intents: Intents = [.guilds, .guildMessages, .messageContent, .guildMembers, .directMessages]
print(intents)
let bot = try await DiscordKit.Bot(token: token, intents: intents)
ownID = try await bot.client.getOwnUser().id
guard ownID != nil else { fatalError("Failed to get own User ID") }
// let bot = await BotGatewayManager(token: token, intents: [.guildMessages, .messageContent])
@@ -30,6 +31,12 @@ struct Zundamon {
taskGroup.addTask {
for await event in await bot.events {
dump(event)
switch event.d {
case .messageCreate(let event):
try await MessageHandler(ctx: event, client: bot.client).handle()
default:
continue
}
}
}
}