class
Circed::Services::IRCService
- Circed::Services::IRCService
- Reference
- Object
Defined in:
circed/services/irc_service.crConstant Summary
-
CHANNEL_MODE_ORDER =
{'p', 's', 'i', 'm', 'n', 't', 'k', 'l', 'b'} -
SELF_USER_MODES =
{'i', 'w'}
Constructors
Instance Method Summary
-
#change_mode(client : Client, target : String, mode_string : String, mode_params : Array(String) = [] of String, parameter_index : Int32 = 0) : Bool
Change channel or user modes with network sync
-
#change_nickname(client : Client, new_nickname : String) : Bool
Handle user nickname changes with network sync
- #connect_server(client : Client, host : String, port : Int32 | Nil = nil, remote_server : String | Nil = nil) : Bool
- #die(client : Client, reason : String) : Bool
-
#join_channel(client : Client, channel_name : String, password : String | Nil = nil) : Bool
User joins a channel with proper validation, notifications, and network sync
- #kick_user(client : Client, channel_name : String, target_nickname : String, reason : String | Nil = nil) : Bool
- #kill_user(client : Client, target_nickname : String, reason : String) : Bool
- #line_ban(client : Client, type : String, params : Array(String)) : Bool
- #oper(client : Client, oper_name : String, password : String) : Bool
-
#part_channel(client : Client, channel_name : String, reason : String | Nil = nil) : Bool
User parts from a channel with network sync
- #query_mode(client : Client, target : String) : Bool
- #query_topic(client : Client, channel_name : String) : Bool
-
#quit_user(client : Client, reason : String | Nil = nil) : Bool
Handle user quit with network sync
- #rehash(client : Client) : Bool
- #restart(client : Client, reason : String) : Bool
-
#route_message(sender : Client, target : String, message : String) : Bool
Route messages to local or remote targets
- #route_notice(sender : Client, target : String, message : String) : Bool
- #send_names_reply(client : Client, channel : Domain::Channel) : Nil
- #squit_server(client : Client, server_name : String, comment : String) : Bool
-
#sync_new_user(client : Client) : Bool
Sync new user with network state
-
#update_topic(client : Client, channel_name : String, topic : String) : Bool
Set channel topic with validation and network sync
Constructor Detail
def self.new(user_repository : Repositories::UserRepository, channel_repository : Repositories::ChannelRepository, notification_service : NotificationService)
#
Instance Method Detail
def change_mode(client : Client, target : String, mode_string : String, mode_params : Array(String) = [] of String, parameter_index : Int32 = 0) : Bool
#
Change channel or user modes with network sync
Handle user nickname changes with network sync
def connect_server(client : Client, host : String, port : Int32 | Nil = nil, remote_server : String | Nil = nil) : Bool
#
User joins a channel with proper validation, notifications, and network sync
def kick_user(client : Client, channel_name : String, target_nickname : String, reason : String | Nil = nil) : Bool
#
User parts from a channel with network sync
Handle user quit with network sync
Route messages to local or remote targets
Set channel topic with validation and network sync