discord.zig/src/test.zig
2024-11-06 17:02:21 +00:00

33 lines
983 B
Zig

const Shard = @import("discord.zig").Shard;
const Discord = @import("discord.zig").Discord;
const Intents = Discord.Intents;
const Thread = std.Thread;
const std = @import("std");
fn ready(payload: Discord.Ready) void {
std.debug.print("logged in as {s}\n", .{payload.user.username});
}
fn message_create(message: Discord.Message) void {
std.debug.print("captured: {?s} send by {s}\n", .{ message.content, message.author.username });
}
pub fn main() !void {
const allocator = std.heap.c_allocator;
const token = std.posix.getenv("TOKEN") orelse unreachable;
var handler = try Shard.login(allocator, .{
.token = token,
.intents = Intents.fromRaw(37379),
.run = Shard.GatewayDispatchEvent{
.message_create = &message_create,
.ready = &ready,
},
.log = .yes,
});
errdefer handler.deinit();
const t = try Thread.spawn(.{}, Shard.readMessage, .{ &handler, null });
defer t.join();
}