Skip to content

Commit e106717

Browse files
committed
feat(service): add RateLimit for getChat admin
1 parent be85e56 commit e106717

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/service/MessageCheck.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { BlacklistService } from "./command/blacklist";
1313
import { UserService } from "./db/user";
1414
import { GroupMembershipService } from "./db/group/Membership";
1515
import { MESSAGE } from "../helper/message";
16+
import { RateLimiter } from "../helper/RateLimiter";
1617
const logger = new Logger({ file: "join_group.log", level: "info" });
1718

1819
export class MessageCheck {
@@ -78,6 +79,11 @@ export class MessageCheck {
7879
}
7980

8081
static async isAdmin(ctx: Context, userId: number): Promise<boolean> {
82+
if (!RateLimiter.limit(ctx.chat!.id)) {
83+
// If rate limit exceeded, you might want to log or handle it accordingly
84+
logger.warn('Rate limit exceeded for getChatAdministrators.');
85+
return false;
86+
}
8187
const chatAdmins = await ctx.getChatAdministrators();
8288
return chatAdmins.some((admin) => admin.user.id === userId);
8389
}

0 commit comments

Comments
 (0)