Skip to content

Commit

Permalink
feat - guild update event handler
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaga committed Sep 30, 2023
1 parent aed4b97 commit 1934348
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 1 deletion.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"main": "index.js",
"scripts": {
"dev": "nodemon src/main.ts",
"build:kitty_chan_proto": "npx proto-loader-gen-types --grpcLib=@grpc/grpc-js --outDir=./src/proto/ ./src/proto/kitty_chan.proto -y",
"build:kitty_chan_proto": "npx proto-loader-gen-types --grpcLib=@grpc/grpc-js --outDir=./src/proto/ ./src/proto/kitty_chan.proto -y && npm run lint",
"build:proto": "cpx \"./src/proto/*.proto\" ./dist/proto",
"lint": "eslint \"{src,apps,test}/**/*.ts\" --fix"
},
Expand Down
9 changes: 9 additions & 0 deletions src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,15 @@ export class App {
return this.eventsHandler.guildCreate(basicGuildInfo);
});

/**
* Guild Update Event
*/
client.on('guildUpdate', async (guild: Guild) => {
const basicGuildInfo = this.eventsProcessor.buildBasicGuildInfo(guild);

return this.eventsHandler.guildUpdate(basicGuildInfo);
});

/**
* Guild Delete Event
*/
Expand Down
10 changes: 10 additions & 0 deletions src/handlers/events_handler.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,16 @@ export class EventsHandler {
return;
}

/**Guild Create */
async guildUpdate(guild: IBasicGuild) {
KittyChanGrpc.guildUpdate(guild as any, (err) => {
if (err) {
console.log(err);
}
});
return;
}

/**Guild Delete */
async guildDelete(guild: IBasicGuild) {
KittyChanGrpc.guildDelete(guild as any, (err) => {
Expand Down
3 changes: 3 additions & 0 deletions src/interface/discord.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ export class IMessageAttachments {
export class IBasicGuild {
guildId?: string;
guildName?: string;
guildOwner?: string;
guildMembersCount?: number;
guildIcon?: string;
}

export class IGuildMember {
Expand Down
4 changes: 4 additions & 0 deletions src/proto/kitty_chan.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ service EventsService{
rpc messageReactionAdd (IMessageReaction) returns (NoResponse);
rpc messageReactionRemove (IMessageReaction) returns (NoResponse);
rpc guildCreate (IBasicGuild) returns (NoResponse);
rpc guildUpdate (IBasicGuild) returns (NoResponse);
rpc guildDelete (IBasicGuild) returns (NoResponse);
rpc guildMemberAdd (IGuildMember) returns (NoResponse);
rpc guildMemberRemove (IGuildMember) returns (NoResponse);
Expand Down Expand Up @@ -93,6 +94,9 @@ message IGuildMessageDelete{
message IBasicGuild{
string guildId = 1;
string guildName = 2;
string guildOwner = 3;
int64 guildMembersCount = 4;
string guildAvatar = 5;
}

message IGuildMember{
Expand Down
52 changes: 52 additions & 0 deletions src/proto/kitty_chan/EventsService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,47 @@ export interface EventsServiceClient extends grpc.Client {
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;

guildUpdate(
argument: _kitty_chan_IBasicGuild,
metadata: grpc.Metadata,
options: grpc.CallOptions,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
metadata: grpc.Metadata,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
options: grpc.CallOptions,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
metadata: grpc.Metadata,
options: grpc.CallOptions,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
metadata: grpc.Metadata,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
options: grpc.CallOptions,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;
guildUpdate(
argument: _kitty_chan_IBasicGuild,
callback: grpc.requestCallback<_kitty_chan_NoResponse__Output>,
): grpc.ClientUnaryCall;

messageCreate(
argument: _kitty_chan_IGuildMessage,
metadata: grpc.Metadata,
Expand Down Expand Up @@ -474,6 +515,11 @@ export interface EventsServiceHandlers
_kitty_chan_NoResponse
>;

guildUpdate: grpc.handleUnaryCall<
_kitty_chan_IBasicGuild__Output,
_kitty_chan_NoResponse
>;

messageCreate: grpc.handleUnaryCall<
_kitty_chan_IGuildMessage__Output,
_kitty_chan_NoResponse
Expand Down Expand Up @@ -531,6 +577,12 @@ export interface EventsServiceDefinition extends grpc.ServiceDefinition {
_kitty_chan_IGuildMemberUpdate__Output,
_kitty_chan_NoResponse__Output
>;
guildUpdate: MethodDefinition<
_kitty_chan_IBasicGuild,
_kitty_chan_NoResponse,
_kitty_chan_IBasicGuild__Output,
_kitty_chan_NoResponse__Output
>;
messageCreate: MethodDefinition<
_kitty_chan_IGuildMessage,
_kitty_chan_NoResponse,
Expand Down
8 changes: 8 additions & 0 deletions src/proto/kitty_chan/IBasicGuild.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
// Original file: src/proto/kitty_chan.proto

import type { Long } from '@grpc/proto-loader';

export interface IBasicGuild {
guildId?: string;
guildName?: string;
guildOwner?: string;
guildMembersCount?: number | string | Long;
guildAvatar?: string;
}

export interface IBasicGuild__Output {
guildId?: string;
guildName?: string;
guildOwner?: string;
guildMembersCount?: Long;
guildAvatar?: string;
}
2 changes: 2 additions & 0 deletions src/service/discord-events-processor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ export class DiscordEventsProcessor {
const basicGuild: IBasicGuild = {
guildId: guild.id,
guildName: guild.name,
guildOwner: guild.ownerId,
guildMembersCount: guild.memberCount,
};
return basicGuild;
}
Expand Down

0 comments on commit 1934348

Please sign in to comment.