class

Circed::Services::IRCService

Inherits Reference / Object

Constants

CHANNEL_MODE_ORDER = {'p', 's', 'i', 'm', 'n', 't', 'k', 'l', 'b'}
SELF_USER_MODES = {'i', 'w'}

Constructors

new(user_repository : Repositories::UserRepository, channel_repository : Repositories::ChannelRepository, notification_service : NotificationService)
Source

Instance methods

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

Source
change_nickname(client : Client, new_nickname : String) : Bool

Handle user nickname changes with network sync

Source
connect_server(client : Client, host : String, port : Int32 | Nil = nil, remote_server : String | Nil = nil) : Bool
Source
die(client : Client, reason : String) : Bool
Source
join_channel(client : Client, channel_name : String, password : String | Nil = nil) : Bool

User joins a channel with proper validation, notifications, and network sync

Source
kick_user(client : Client, channel_name : String, target_nickname : String, reason : String | Nil = nil) : Bool
Source
kill_user(client : Client, target_nickname : String, reason : String) : Bool
Source
line_ban(client : Client, type : String, params : Array(String)) : Bool
Source
oper(client : Client, oper_name : String, password : String) : Bool
Source
part_channel(client : Client, channel_name : String, reason : String | Nil = nil) : Bool

User parts from a channel with network sync

Source
query_mode(client : Client, target : String) : Bool
Source
query_topic(client : Client, channel_name : String) : Bool
Source
quit_user(client : Client, reason : String | Nil = nil) : Bool

Handle user quit with network sync

Source
rehash(client : Client) : Bool
Source
restart(client : Client, reason : String) : Bool
Source
route_message(sender : Client, target : String, message : String) : Bool

Route messages to local or remote targets

Source
route_notice(sender : Client, target : String, message : String) : Bool
Source
send_names_reply(client : Client, channel : Domain::Channel) : Nil
Source
squit_server(client : Client, server_name : String, comment : String) : Bool
Source
sync_new_user(client : Client) : Bool

Sync new user with network state

Source
update_topic(client : Client, channel_name : String, topic : String) : Bool

Set channel topic with validation and network sync

Source