Annotation Interface ChatJoinRequestHandler
@Retention(RUNTIME)
@Target(METHOD)
@Repeatable(ChatJoinRequestHandlers.class)
public @interface ChatJoinRequestHandler
Annotation for handling chat join request events in a declarative manner.
 Designed specifically for handling events when a user requests to join
 a chat (typically a private group or channel that requires approval).
 
Equivalent with using
Basic join request handler example:
 @ChatJoinRequestHandler
 void handleJoinRequest(BotContext context, ChatJoinRequest request) {
     // Handle chat join request event
     context.approveJoinRequest(request.chat.id, request.from.id));
 }
 Custom filtered join request handler example:
 @ChatJoinRequestHandler(filter = PremiumUserFilter.class)
 void handlePremiumJoinRequest(BotContext context, ChatJoinRequest request) {
     // Automatically approve join requests from premium users
     context.approveJoinRequest(request.chat.id, request.from.id));
 }
 Multiple join request handlers with priorities:
 @ChatJoinRequestHandler(priority = -1, filter = PremiumUserFilter.class)
 void validateJoinRequest(BotContext context, ChatJoinRequest request) {
     // Automatically approve join requests from premium users
     context.approveJoinRequest(request.chat.id, request.from.id));
 }
 @ChatJoinRequestHandler
 void welcomeApprovedUser(BotContext context, ChatJoinRequest request) {
     // This handler executes for approved requests
     context.approveJoinRequest(request.chat.id, request.from.id));
 }
 Equivalent with using
BotClient.onChatJoinRequest(FilterExecutor, UpdateHandler)- Since:
- 1.2.0
- 
Optional Element SummaryOptional ElementsModifier and TypeOptional ElementDescriptionClass<? extends CustomFilter> Custom filter class for advanced filtering of chat join request events.intPriority order for handler registration and execution.
- 
Element Details- 
filterClass<? extends CustomFilter> filterCustom filter class for advanced filtering of chat join request events. Use this to implement custom logic for determining which join requests should trigger this handler, such as filtering by user profile, join date, referral source, or other application-specific criteria.- Returns:
- class implementing CustomFilterinterface
 - Default:
- io.github.natanimn.telebof.filters.DefaultCustomFilter.class
 
- 
priorityint priorityPriority order for handler registration and execution. Handlers with lower priority numbers are registered and executed before those with higher numbers. This allows controlling the order of handler processing when multiple handlers could match the same join request event.- Returns:
- priority integer value (lower = earlier execution)
 - Default:
- 0
 
 
-