add a cute readme
This commit is contained in:
parent
ace805f532
commit
7f200352dc
179
README.md
179
README.md
@ -1,9 +1,12 @@
|
|||||||
# features
|
|
||||||
* supports sharding for large bots
|
# Discord.zig
|
||||||
* 100% API coverage, fully typed
|
|
||||||
* faster than any other Discord library
|
A high-performance bleeding edge Discord library in Zig, featuring full API coverage, sharding support, and fine-tuned parsing
|
||||||
* language-agnostic (may be used with JavaScript)
|
* Sharding Support: Ideal for large bots, enabling distributed load handling.
|
||||||
* parses payloads using either zlib or zstd
|
* 100% API Coverage & Fully Typed: Offers complete access to Discord's API with strict typing for reliable and safe code.
|
||||||
|
* High Performance: Faster than whichever library you can name (WIP)
|
||||||
|
* Flexible Payload Parsing: Supports payload parsing through both zlib and zstd.
|
||||||
|
* Language Agnostic: Primarily in Zig, but also compatible with JavaScript. (PERHAPS?)
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
// Sample code
|
// Sample code
|
||||||
@ -12,11 +15,11 @@ const Discord = @import("discord.zig").Discord;
|
|||||||
const Intents = Discord.Intents;
|
const Intents = Discord.Intents;
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
const token = "Bot MTI5ODgzOTgzMDY3OTEzMDE4OA...";
|
const token = "Bot MTI5ODgzOTgzMDY3OTEzMDE4OA..."; // Replace with your actual token
|
||||||
|
|
||||||
fn message_create(message: Discord.Message) void {
|
fn message_create(message: Discord.Message) void {
|
||||||
// do whatever you want
|
// Define your message handling logic here
|
||||||
std.debug.print("captured: {?s}\n", .{message.content});
|
std.debug.print("Captured message: {?s}\n", .{message.content});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
@ -34,75 +37,97 @@ pub fn main() !void {
|
|||||||
const t = try std.Thread.spawn(.{}, Session.readMessage, .{ &handler, null });
|
const t = try std.Thread.spawn(.{}, Session.readMessage, .{ &handler, null });
|
||||||
defer t.join();
|
defer t.join();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
## Installation
|
||||||
|
```zig
|
||||||
|
// In your build.zig file
|
||||||
|
const exe = b.addExecutable(.{
|
||||||
|
.name = "marin",
|
||||||
|
.root_source_file = b.path("src/main.zig"),
|
||||||
|
.target = target,
|
||||||
|
.optimize = optimize,
|
||||||
|
});
|
||||||
|
|
||||||
|
const dzig = b.dependency("discord.zig", .{});
|
||||||
|
|
||||||
|
marin.root_module.addImport("discord.zig", dzig.module("discord.zig"));
|
||||||
|
```
|
||||||
|
TIP: make sure you use the latest Zig!
|
||||||
|
|
||||||
|
## contributing
|
||||||
|
Contributions are welcome! Please open an issue or pull request if you'd like to help improve the library.
|
||||||
|
|
||||||
## event coverage roadmap
|
## event coverage roadmap
|
||||||
* application_command_permissions_update | ❌
|
| Event | Support |
|
||||||
* auto_moderation_rule_create | ❌
|
|----------------------------------------|---------|
|
||||||
* auto_moderation_rule_update | ❌
|
| application_command_permissions_update | ❌ |
|
||||||
* auto_moderation_rule_delete | ❌
|
| auto_moderation_rule_create | ❌ |
|
||||||
* auto_moderation_action_execution | ❌
|
| auto_moderation_rule_update | ❌ |
|
||||||
* channel_create | ❌
|
| auto_moderation_rule_delete | ❌ |
|
||||||
* channel_update | ❌
|
| auto_moderation_action_execution | ❌ |
|
||||||
* channel_delete | ❌
|
| channel_create | ❌ |
|
||||||
* channel_pins_update | ❌
|
| channel_update | ❌ |
|
||||||
* thread_create | ❌
|
| channel_delete | ❌ |
|
||||||
* thread_update | ❌
|
| channel_pins_update | ❌ |
|
||||||
* thread_delete | ❌
|
| thread_create | ❌ |
|
||||||
* thread_list_sync | ❌
|
| thread_update | ❌ |
|
||||||
* thread_member_update | ❌
|
| thread_delete | ❌ |
|
||||||
* thread_members_update | ❌
|
| thread_list_sync | ❌ |
|
||||||
* guild_audit_log_entry_create | ❌
|
| thread_member_update | ❌ |
|
||||||
* guild_create | ❌
|
| thread_members_update | ❌ |
|
||||||
* guild_update | ❌
|
| guild_audit_log_entry_create | ❌ |
|
||||||
* guild_delete | ❌
|
| guild_create | ❌ |
|
||||||
* guild_ban_add | ❌
|
| guild_update | ❌ |
|
||||||
* guild_ban_remove | ❌
|
| guild_delete | ❌ |
|
||||||
* guild_emojis_update | ❌
|
| guild_ban_add | ❌ |
|
||||||
* guild_stickers_update | ❌
|
| guild_ban_remove | ❌ |
|
||||||
* guild_integrations_update | ❌
|
| guild_emojis_update | ❌ |
|
||||||
* guild_member_add | ❌
|
| guild_stickers_update | ❌ |
|
||||||
* guild_member_remove | ❌
|
| guild_integrations_update | ❌ |
|
||||||
* guild_member_update | ❌
|
| guild_member_add | ❌ |
|
||||||
* guild_members_chunk | ❌
|
| guild_member_remove | ❌ |
|
||||||
* guild_role_create | ❌
|
| guild_member_update | ❌ |
|
||||||
* guild_role_update | ❌
|
| guild_members_chunk | ❌ |
|
||||||
* guild_role_delete | ❌
|
| guild_role_create | ❌ |
|
||||||
* guild_scheduled_event_create | ❌
|
| guild_role_update | ❌ |
|
||||||
* guild_scheduled_event_update | ❌
|
| guild_role_delete | ❌ |
|
||||||
* guild_scheduled_event_delete | ❌
|
| guild_scheduled_event_create | ❌ |
|
||||||
* guild_scheduled_event_user_add | ❌
|
| guild_scheduled_event_update | ❌ |
|
||||||
* guild_scheduled_event_user_remove | ❌
|
| guild_scheduled_event_delete | ❌ |
|
||||||
* integration_create | ❌
|
| guild_scheduled_event_user_add | ❌ |
|
||||||
* integration_update | ❌
|
| guild_scheduled_event_user_remove | ❌ |
|
||||||
* integration_delete | ❌
|
| integration_create | ❌ |
|
||||||
* interaction_create | ❌
|
| integration_update | ❌ |
|
||||||
* invite_create | ❌
|
| integration_delete | ❌ |
|
||||||
* invite_delete | ❌
|
| interaction_create | ❌ |
|
||||||
* message_create: ?*const fn (message: Discord.Message) void | ✅
|
| invite_create | ❌ |
|
||||||
* message_update: ?*const fn (message: Discord.Message) void = undefined,
|
| invite_delete | ❌ |
|
||||||
* message_delete: ?*const fn (message: Discord.MessageDelete) void = undefined,
|
| message_create: ?*const fn (message: Discord.Message) void | ✅ |
|
||||||
* message_delete_bulk: ?*const fn (message: Discord.MessageDelete) void = undefined,
|
| message_update: ?*const fn (message: Discord.Message) void | ✅ |
|
||||||
* message_reaction_add | ❌
|
| message_delete: ?*const fn (message: Discord.MessageDelete) void | ✅ |
|
||||||
* message_reaction_remove | ❌
|
| message_delete_bulk: ?*const fn (message: Discord.MessageDelete) void | ✅ |
|
||||||
* message_reaction_remove_all | ❌
|
| message_reaction_add | ❌ |
|
||||||
* message_reaction_remove_emoji | ❌
|
| message_reaction_remove | ❌ |
|
||||||
* presence_update | ❌
|
| message_reaction_remove_all | ❌ |
|
||||||
* stage_instance_create | ❌
|
| message_reaction_remove_emoji | ❌ |
|
||||||
* stage_instance_update | ❌
|
| presence_update | ❌ |
|
||||||
* stage_instance_delete | ❌
|
| stage_instance_create | ❌ |
|
||||||
* typing_start | ❌
|
| stage_instance_update | ❌ |
|
||||||
* user_update | ❌
|
| stage_instance_delete | ❌ |
|
||||||
* voice_channel_effect_send | ❌
|
| typing_start | ❌ |
|
||||||
* voice_state_update | ❌
|
| user_update | ❌ |
|
||||||
* voice_server_update | ❌
|
| voice_channel_effect_send | ❌ |
|
||||||
* webhooks_update | ❌
|
| voice_state_update | ❌ |
|
||||||
* entitlement_create | ❌
|
| voice_server_update | ❌ |
|
||||||
* entitlement_update | ❌
|
| webhooks_update | ❌ |
|
||||||
* entitlement_delete | ❌
|
| entitlement_create | ❌ |
|
||||||
* message_poll_vote_add | ❌
|
| entitlement_update | ❌ |
|
||||||
* message_poll_vote_remove | ❌
|
| entitlement_delete | ❌ |
|
||||||
* ready: ?*const fn (data: Discord.Ready) void | ✅
|
| message_poll_vote_add | ❌ |
|
||||||
* resumed | ❌
|
| message_poll_vote_remove | ❌ |
|
||||||
* any: ?*const fn (data: []u8) void | ✅
|
| ready: ?*const fn (data: Discord.Ready) void | ✅ |
|
||||||
|
| resumed | ❌ |
|
||||||
|
| any: ?*const fn (data: []u8) void | ✅ |
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user