module Circed::Utils::IrcUtils

Overview

Consolidated IRC utilities to eliminate duplicate validation and helper code

Defined in:

circed/utils/irc_utils.cr

Class Method Summary

Class Method Detail

def self.each_list_param(param : String, & : String -> ) : Nil #

[View source]
def self.format_hostmask(nickname : String, username : String, hostname : String) : String #

[View source]
def self.mode_set(modes : String) : Set(Char) #

[View source]
def self.mode_string(modes : Set(Char)) : String #

[View source]
def self.send_bad_channel_key_error(sender : Client, channel_name : String) #

[View source]
def self.send_banned_from_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_cannot_send_to_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_channel_full_error(sender : Client, channel_name : String) #

[View source]
def self.send_invite_only_error(sender : Client, channel_name : String) #

[View source]
def self.send_nickname_in_use_error(sender : Client, nickname : String) #

[View source]
def self.send_no_such_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_no_such_nick_error(sender : Client, nickname : String) #

Common error sending helpers


[View source]
def self.send_not_on_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_not_operator_error(sender : Client, channel_name : String) #

[View source]
def self.send_not_registered_error(sender : Client) #

[View source]
def self.send_user_on_channel_error(sender : Client, channel_name : String) #

[View source]
def self.send_users_dont_match_error(sender : Client) #

[View source]
def self.split_list_param(param : String) : Array(String) #

[View source]
def self.split_list_param(param : String | Nil) : Array(String) #

[View source]
def self.trailing_param(params : Array(String), start_index : Int32, default = "") : String #

[View source]
def self.user_has_channel_mode?(channel : Domain::Channel, nickname : String, mode : Char) : Bool #

Check if a user has a specific mode in a channel


[View source]
def self.user_is_operator?(channel : Domain::Channel, nickname : String) : Bool #

Check if user is operator in channel


[View source]
def self.valid_channel_name?(channel_name : String) : Bool #

Channel validation utilities


[View source]
def self.valid_nickname?(nickname : String) : Bool #

Nickname validation utilities


[View source]
def self.validate_channel_name(sender : Client, channel_name : String) : Bool #

Validate channel name and send error if invalid


[View source]