Extracts the nick from the full address of a user (nick!name@host)
","abstract":false,"args":[{"name":"address","doc":null,"default_value":"","external_name":"address","restriction":"String"}],"args_string":"(address : String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/example_bot.cr#L4","def":{"name":"extract_nick","args":[{"name":"address","doc":null,"default_value":"","external_name":"address","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"(address.split('!'))[0]"}}],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"crirc/Crirc","path":"Crirc.html","kind":"module","full_name":"Crirc","name":"Crirc","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc.cr","line_number":15,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc.cr#L15"},{"filename":"src/crirc/version.cr","line_number":1,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/version.cr#L1"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"VERSION","name":"VERSION","value":"\"0.4.0\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":"The Crirc module contains all the object related to the project.\nIt uses 4 layers of objects:\n\n1. **Network**: A network object manage a socket / I0.\n The interface is described by `Crirc::Network::Network`.\n2. **Controller**: A controller belongs to a network object,\n and handle the logic and data. Its interface is described by\n `Crirc::Controller::Controller`.\n3. **Protocol**: A protocol object represent a IRC entity\n (chan, user, message, ...).\n4. **Broadcast**: The `Broadcast` allows the system to send transmission to\n several IRC entity as one.\n5. **Binding**: The `Binding::Handler` allows a given `Controller` to respond\n to incoming transmissions.","summary":"The Crirc module contains all the object related to the project.
","class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"crirc/Crirc/Binding","path":"Crirc/Binding.html","kind":"module","full_name":"Crirc::Binding","name":"Binding","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/binding/trigger.cr","line_number":3,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/trigger.cr#L3"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc","kind":"module","full_name":"Crirc","name":"Crirc"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"crirc/Crirc/Binding/Handler","path":"Crirc/Binding/Handler.html","kind":"module","full_name":"Crirc::Binding::Handler","name":"Handler","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/binding/handler.cr","line_number":15,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L15"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Client","kind":"class","full_name":"Crirc::Controller::Client","name":"Client"}],"namespace":{"html_id":"crirc/Crirc/Binding","kind":"module","full_name":"Crirc::Binding","name":"Binding"},"doc":"This class is designed to be able to automaticaly respond to incoming IRC\nmessages on a set conditions.\nThe flow of this system is the following:\n1. With `.on()`, defines a Trigger and the associated Hook\n2. Call `.handle()` to process the incoming IRC message.\n\n```\nbot.on(\"PRIVMSG\", message: /^(Hello|Hi)$/) { |msg, data| bot.reply(msg, \"Hello !\") }\nwhile (incoming_message = io.gets) do\n bot.handle(incoming_message)\nend\n```","summary":"This class is designed to be able to automaticaly respond to incoming IRC messages on a set conditions.
","class_methods":[],"constructors":[{"id":"new(**opts)-class-method","html_id":"new(**opts)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"(**opts)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L25","def":{"name":"new","args":[],"double_splat":{"name":"opts","doc":null,"default_value":"","external_name":"opts","restriction":""},"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(**opts)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"docs:Hash(String,String)-instance-method","html_id":"docs:Hash(String,String)-instance-method","name":"docs","doc":"Documentation lines for each hook","summary":"Documentation lines for each hook
","abstract":false,"args":[],"args_string":" : Hash(String, String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L23","def":{"name":"docs","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Hash(String, String)","visibility":"Public","body":"@docs"}},{"id":"handle(msg:String)-instance-method","html_id":"handle(msg:String)-instance-method","name":"handle","doc":"Sugar for `handle` that parse the string as a `Crirc::Protocol::Message`","summary":"Sugar for #handle
that parse the string as a Crirc::Protocol::Message
Handle one Message
It goes through the registred hooks, select the one to trigger.
Hooks associated with Trigger
Register a news Hook that is called when the incoming messages meet a set of conditions: command name (JOIN, PRIVMSG, ...), source, arguments, message.
","abstract":false,"args":[{"name":"command","doc":null,"default_value":"\"PRIVMSG\"","external_name":"command","restriction":"String"},{"name":"source","doc":null,"default_value":"nil","external_name":"source","restriction":"HookRule"},{"name":"arguments","doc":null,"default_value":"nil","external_name":"arguments","restriction":"HookRule"},{"name":"message","doc":null,"default_value":"nil","external_name":"message","restriction":"HookRule"},{"name":"doc","doc":null,"default_value":"nil","external_name":"doc","restriction":"::Tuple(String, String) | ::Nil"}],"args_string":"(command : String = "PRIVMSG", source : HookRule = nil, arguments : HookRule = nil, message : HookRule = nil, doc : Tuple(String, String)? = nil, &hook : Hook)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L40","def":{"name":"on","args":[{"name":"command","doc":null,"default_value":"\"PRIVMSG\"","external_name":"command","restriction":"String"},{"name":"source","doc":null,"default_value":"nil","external_name":"source","restriction":"HookRule"},{"name":"arguments","doc":null,"default_value":"nil","external_name":"arguments","restriction":"HookRule"},{"name":"message","doc":null,"default_value":"nil","external_name":"message","restriction":"HookRule"},{"name":"doc","doc":null,"default_value":"nil","external_name":"doc","restriction":"::Tuple(String, String) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"hook","doc":null,"default_value":"","external_name":"hook","restriction":"Hook"},"return_type":"","visibility":"Public","body":"rule = Trigger.new(command, source, arguments, message)\nself.hooks.fetch(rule) do\n self.hooks[rule] = Array(Hook).new\nend\nself.hooks[rule] << hook\nif doc.nil?\nelse\n @docs[doc[0]] = doc[1]\nend\nself\n"}}],"macros":[],"types":[{"html_id":"crirc/Crirc/Binding/Handler/Hook","path":"Crirc/Binding/Handler/Hook.html","kind":"alias","full_name":"Crirc::Binding::Handler::Hook","name":"Hook","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/binding/handler.cr","line_number":17,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L17"}],"repository_name":"crirc","program":false,"enum":false,"alias":true,"aliased":"Proc(Crirc::Protocol::Message, (Regex::MatchData | Nil), Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Binding/Handler","kind":"module","full_name":"Crirc::Binding::Handler","name":"Handler"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Binding/Handler/HookRule","path":"Crirc/Binding/Handler/HookRule.html","kind":"alias","full_name":"Crirc::Binding::Handler::HookRule","name":"HookRule","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/binding/handler.cr","line_number":16,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/handler.cr#L16"}],"repository_name":"crirc","program":false,"enum":false,"alias":true,"aliased":"(Regex | String | Nil)","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Binding/Handler","kind":"module","full_name":"Crirc::Binding::Handler","name":"Handler"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Binding/Trigger","path":"Crirc/Binding/Trigger.html","kind":"class","full_name":"Crirc::Binding::Trigger","name":"Trigger","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/binding/trigger.cr","line_number":3,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/trigger.cr#L3"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Binding","kind":"module","full_name":"Crirc::Binding","name":"Binding"},"doc":"The `Trigger` define a set of rules.\nTheses rules can test an event (message) to \"match\" with.","summary":"The Trigger
define a set of rules.
returns true if the the message match with the condition of this trigger
","abstract":false,"args":[{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"Crirc::Protocol::Message"}],"args_string":"(msg : Crirc::Protocol::Message)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/binding/trigger.cr#L23","def":{"name":"test","args":[{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"Crirc::Protocol::Message"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"(((test_command(msg)) && (test_source(msg))) && (test_arguments(msg))) && (test_message(msg))"}}],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Broadcast","path":"Crirc/Broadcast.html","kind":"module","full_name":"Crirc::Broadcast","name":"Broadcast","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/broadcast/broadcast.cr","line_number":2,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/broadcast.cr#L2"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/ChanList","kind":"class","full_name":"Crirc::ChanList","name":"ChanList"},{"html_id":"crirc/Crirc/UserList","kind":"class","full_name":"Crirc::UserList","name":"UserList"}],"namespace":{"html_id":"crirc/Crirc","kind":"module","full_name":"Crirc","name":"Crirc"},"doc":"Allow to send data to several IRC entity as one.","summary":"Allow to send data to several IRC entity as one.
","class_methods":[],"constructors":[],"instance_methods":[{"id":"puts(context:Controller::Controller,data)-instance-method","html_id":"puts(context:Controller::Controller,data)-instance-method","name":"puts","doc":"TODO","summary":"TODO
","abstract":true,"args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(context : Controller::Controller, data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/broadcast.cr#L4","def":{"name":"puts","args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/ChanList","path":"Crirc/ChanList.html","kind":"class","full_name":"Crirc::ChanList","name":"ChanList","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Crirc/Broadcast","kind":"module","full_name":"Crirc::Broadcast","name":"Broadcast"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/broadcast/chan_list.cr","line_number":9,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/chan_list.cr#L9"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Broadcast","kind":"module","full_name":"Crirc::Broadcast","name":"Broadcast"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc","kind":"module","full_name":"Crirc","name":"Crirc"},"doc":"TODO\nA ChanList is the associated list of `Protocol::Chan` and a `UserList`.\nIt is useful for a server that need to keep a track of all the uers\nconnected to any of its chans.","summary":"TODO A ChanList is the associated list of Protocol::Chan
and a UserList
.
TODO Broadcast a message to the users
","abstract":false,"args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(context : Controller::Controller, data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/chan_list.cr#L19","def":{"name":"puts","args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@chans.each do |chan, userlist|\n userlist.puts(context, data)\nend"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller","path":"Crirc/Controller.html","kind":"module","full_name":"Crirc::Controller","name":"Controller","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/controller/controller.cr","line_number":3,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/controller.cr#L3"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc","kind":"module","full_name":"Crirc","name":"Crirc"},"doc":"A `Controller` is controlling a `Network`.\nIt is in charge to manage IRC messages at the IRC protocol level.","summary":"A Controller
is controlling a Network
.
New Client
that controls the given Network
.
TODO Not used yet
","abstract":false,"args":[],"args_string":" : ChanList","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/client.cr#L20","def":{"name":"chanlist","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"ChanList","visibility":"Public","body":"@chanlist"}},{"id":"gets(*args,**options)-instance-method","html_id":"gets(*args,**options)-instance-method","name":"gets","doc":"delegated to the `Network`","summary":"delegated to the Network
delegated to the Network
Initialize the connection with the IRC server (send pass, nick and user).
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/client.cr#L36","def":{"name":"init","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @network.pass\n puts(\"PASS #{@network.pass}\")\nend\nputs(\"NICK #{@network.nick.to_s}\")\nputs(\"USER #{@network.user.to_s} \\\"#{@network.domain}\\\" \\\"#{@network.irc_server}\\\" :#{@network.realname.to_s}\")\n"}},{"id":"network:Network::Client-instance-method","html_id":"network:Network::Client-instance-method","name":"network","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Network::Client","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/client.cr#L17","def":{"name":"network","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Network::Client","visibility":"Public","body":"@network"}},{"id":"nick(*args,**options)-instance-method","html_id":"nick(*args,**options)-instance-method","name":"nick","doc":"delegated to the `Network`","summary":"delegated to the Network
delegated to the Network
Start the callback when the server is ready to receive messages.
","abstract":false,"args":[],"args_string":"(&b) : Client","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/client.cr#L49","def":{"name":"on_ready","args":[],"double_splat":null,"splat_index":null,"yields":0,"block_arg":{"name":"b","doc":null,"default_value":"","external_name":"b","restriction":""},"return_type":"Client","visibility":"Public","body":"self.on(\"001\") do\n b.call\nend\nself\n"}},{"id":"puts(*args,**options)-instance-method","html_id":"puts(*args,**options)-instance-method","name":"puts","doc":"delegated to the `Network`","summary":"delegated to the Network
delegated to the Network
Reply to a given message with a privmsg.
","abstract":false,"args":[{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":""},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(msg, data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/client.cr#L62","def":{"name":"reply","args":[{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":""},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"target = msg.argument_list.first\ntarget_object = ((target[0] == '#' ? Crirc::Protocol::Chan : Crirc::Protocol::User).new(target)).as(Crirc::Protocol::Target)\nself.privmsg(target_object, data)\n"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller/Command","path":"Crirc/Controller/Command.html","kind":"module","full_name":"Crirc::Controller::Command","name":"Command","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/controller/command.cr","line_number":5,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command.cr#L5"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Command/Chan","kind":"module","full_name":"Crirc::Controller::Command::Chan","name":"Chan"},{"html_id":"crirc/Crirc/Controller/Command/Ping","kind":"module","full_name":"Crirc::Controller::Command::Ping","name":"Ping"},{"html_id":"crirc/Crirc/Controller/Command/Talk","kind":"module","full_name":"Crirc::Controller::Command::Talk","name":"Talk"},{"html_id":"crirc/Crirc/Controller/Command/User","kind":"module","full_name":"Crirc::Controller::Command::User","name":"User"}],"namespace":{"html_id":"crirc/Crirc/Controller","kind":"module","full_name":"Crirc::Controller","name":"Controller"},"doc":"The module `Command` is the scope for the IRC commands\ndefined in the standard.\nEach of these commands is included by a `Controller`, so the `puts` function\nis implemented by the `Controller`.","summary":"The module Command
is the scope for the IRC commands defined in the standard.
Defines the IRC commands that are related to chans (join, part, ...).
","class_methods":[],"constructors":[],"instance_methods":[{"id":"invite(chan:Crirc::Protocol::Chan,user:Crirc::Protocol::User)-instance-method","html_id":"invite(chan:Crirc::Protocol::Chan,user:Crirc::Protocol::User)-instance-method","name":"invite","doc":"Invite the user \"user\" to the channel \"chan\".","summary":"Invite the user \"user\" to the channel \"chan\".
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"}],"args_string":"(chan : Crirc::Protocol::Chan, user : Crirc::Protocol::User)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L77","def":{"name":"invite","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"INVITE #{user.name} #{chan.name}\")"}},{"id":"join(chans:Enumerable(Crirc::Protocol::Chan),passwords:Enumerable(String)=[""])-instance-method","html_id":"join(chans:Enumerable(Crirc::Protocol::Chan),passwords:Enumerable(String)=[""])-instance-method","name":"join","doc":"Request to join the chan(s) \"chans\", with password(s) \"passwords\".\nThe passwords may be ignored if not needed.","summary":"Request to join the chan(s) \"chans\", with password(s) \"passwords\".
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"passwords","doc":null,"default_value":"[\"\"]","external_name":"passwords","restriction":"Enumerable(String)"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan), passwords : Enumerable(String) = [""])","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L14","def":{"name":"join","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"passwords","doc":null,"default_value":"[\"\"]","external_name":"passwords","restriction":"Enumerable(String)"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"to_join = format_list(chans)\npasses = passwords.join(\",\")\nputs(\"JOIN #{to_join} #{passes}\")\n"}},{"id":"join(chan:Crirc::Protocol::Chan,password:String="")-instance-method","html_id":"join(chan:Crirc::Protocol::Chan,password:String="")-instance-method","name":"join","doc":"Overloads the join function for 1 chan.","summary":"Overloads the join function for 1 chan.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"password","doc":null,"default_value":"\"\"","external_name":"password","restriction":"String"}],"args_string":"(chan : Crirc::Protocol::Chan, password : String = "")","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L21","def":{"name":"join","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"password","doc":null,"default_value":"\"\"","external_name":"password","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"join({chan}, {password})"}},{"id":"kick(chans:Enumerable(Crirc::Protocol::Chan),users:Enumerable(Crirc::Protocol::User),msg:String?=nil)-instance-method","html_id":"kick(chans:Enumerable(Crirc::Protocol::Chan),users:Enumerable(Crirc::Protocol::User),msg:String?=nil)-instance-method","name":"kick","doc":"Kick the users users from the channels chans.\nThe reason of the kick will be displayed if given as a parameter.","summary":"Kick the users users from the channels chans.
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"users","doc":null,"default_value":"","external_name":"users","restriction":"Enumerable(Crirc::Protocol::User)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan), users : Enumerable(Crirc::Protocol::User), msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L83","def":{"name":"kick","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"users","doc":null,"default_value":"","external_name":"users","restriction":"Enumerable(Crirc::Protocol::User)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"chan = format_list(chans)\ntargets = format_list(users)\nif msg\n reason = \":#{msg}\"\nend\nputs(\"KICK #{chan} #{targets} #{reason}\")\n"}},{"id":"kick(chans:Enumerable(Crirc::Protocol::Chan),user:Crirc::Protocol::User,msg:String?=nil)-instance-method","html_id":"kick(chans:Enumerable(Crirc::Protocol::Chan),user:Crirc::Protocol::User,msg:String?=nil)-instance-method","name":"kick","doc":"Overloads the kick function for several chans, one user.","summary":"Overloads the kick function for several chans, one user.
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan), user : Crirc::Protocol::User, msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L91","def":{"name":"kick","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"kick(chans, {user}, msg)"}},{"id":"kick(chan:Crirc::Protocol::Chan,users:Enumerable(Crirc::Protocol::User),msg:String?=nil)-instance-method","html_id":"kick(chan:Crirc::Protocol::Chan,users:Enumerable(Crirc::Protocol::User),msg:String?=nil)-instance-method","name":"kick","doc":"Overloads the kick function for one chan, several users.","summary":"Overloads the kick function for one chan, several users.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"users","doc":null,"default_value":"","external_name":"users","restriction":"Enumerable(Crirc::Protocol::User)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chan : Crirc::Protocol::Chan, users : Enumerable(Crirc::Protocol::User), msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L96","def":{"name":"kick","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"users","doc":null,"default_value":"","external_name":"users","restriction":"Enumerable(Crirc::Protocol::User)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"kick({chan}, users, msg)"}},{"id":"kick(chan:Crirc::Protocol::Chan,user:Crirc::Protocol::User,msg:String?=nil)-instance-method","html_id":"kick(chan:Crirc::Protocol::Chan,user:Crirc::Protocol::User,msg:String?=nil)-instance-method","name":"kick","doc":"Overloads the kick function for one chan, one user.","summary":"Overloads the kick function for one chan, one user.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chan : Crirc::Protocol::Chan, user : Crirc::Protocol::User, msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L101","def":{"name":"kick","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":"Crirc::Protocol::User"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"kick({chan}, {user}, msg)"}},{"id":"list(chans:Enumerable(Crirc::Protocol::Chan?)?)-instance-method","html_id":"list(chans:Enumerable(Crirc::Protocol::Chan?)?)-instance-method","name":"list","doc":"List the channels and their topics.\nIf the chans parameter is given, lists the status of the given chans.","summary":"List the channels and their topics.
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan | ::Nil) | ::Nil"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan?)?)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L66","def":{"name":"list","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan | ::Nil) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if chans\n target = format_list(chans)\nend\nputs(\"LIST #{target}\")\n"}},{"id":"list(chan:Crirc::Protocol::Chan)-instance-method","html_id":"list(chan:Crirc::Protocol::Chan)-instance-method","name":"list","doc":"Overloads the list function for 1 chan.","summary":"Overloads the list function for 1 chan.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"}],"args_string":"(chan : Crirc::Protocol::Chan)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L72","def":{"name":"list","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"LIST #{chan.name}\")"}},{"id":"mode(chan:Crirc::Protocol::Chan,flags:String,user:Crirc::Protocol::User?=nil)-instance-method","html_id":"mode(chan:Crirc::Protocol::Chan,flags:String,user:Crirc::Protocol::User?=nil)-instance-method","name":"mode","doc":"Request to change the mode of the given channel.\nIf the mode is to be applied to an user, precise it.","summary":"Request to change the mode of the given channel.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"flags","doc":null,"default_value":"","external_name":"flags","restriction":"String"},{"name":"user","doc":null,"default_value":"nil","external_name":"user","restriction":"Crirc::Protocol::User | ::Nil"}],"args_string":"(chan : Crirc::Protocol::Chan, flags : String, user : Crirc::Protocol::User? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L39","def":{"name":"mode","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"flags","doc":null,"default_value":"","external_name":"flags","restriction":"String"},{"name":"user","doc":null,"default_value":"nil","external_name":"user","restriction":"Crirc::Protocol::User | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"target = user ? user.name : \"\"\nputs(\"MODE #{chan.name} #{flags} #{target}\")\n"}},{"id":"names(chans:Enumerable(Crirc::Protocol::Chan)?)-instance-method","html_id":"names(chans:Enumerable(Crirc::Protocol::Chan)?)-instance-method","name":"names","doc":"Request the names of the users in the given channel(s).\nIf no channel is given, requests the names of the users in every\nknown channel.","summary":"Request the names of the users in the given channel(s).
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan) | ::Nil"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan)?)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L54","def":{"name":"names","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if chans\n target = format_list(chans)\nend\nputs(\"NAMES #{target}\")\n"}},{"id":"names(chan:Crirc::Protocol::Chan)-instance-method","html_id":"names(chan:Crirc::Protocol::Chan)-instance-method","name":"names","doc":"Overloads the names function for 1 chan.","summary":"Overloads the names function for 1 chan.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"}],"args_string":"(chan : Crirc::Protocol::Chan)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L60","def":{"name":"names","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"names({chan})"}},{"id":"part(chans:Enumerable(Crirc::Protocol::Chan),msg:String?=nil)-instance-method","html_id":"part(chans:Enumerable(Crirc::Protocol::Chan),msg:String?=nil)-instance-method","name":"part","doc":"Request to leave the channel(s) \"chans\", with an optional part message \"msg\".","summary":"Request to leave the channel(s) \"chans\", with an optional part message \"msg\".
","abstract":false,"args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chans : Enumerable(Crirc::Protocol::Chan), msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L26","def":{"name":"part","args":[{"name":"chans","doc":null,"default_value":"","external_name":"chans","restriction":"Enumerable(Crirc::Protocol::Chan)"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"to_leave = format_list(chans)\nif msg\n reason = \":#{msg}\"\nend\nputs(\"PART #{to_leave} #{reason}\")\n"}},{"id":"part(chan:Crirc::Protocol::Chan,msg:String?=nil)-instance-method","html_id":"part(chan:Crirc::Protocol::Chan,msg:String?=nil)-instance-method","name":"part","doc":"Overloads the part function for 1 chan.","summary":"Overloads the part function for 1 chan.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chan : Crirc::Protocol::Chan, msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L33","def":{"name":"part","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"part({chan}, msg)"}},{"id":"topic(chan:Crirc::Protocol::Chan,msg:String?=nil)-instance-method","html_id":"topic(chan:Crirc::Protocol::Chan,msg:String?=nil)-instance-method","name":"topic","doc":"Request to change the topic of the given channel.\nIf no topic is given, requests the topic of the given channel.","summary":"Request to change the topic of the given channel.
","abstract":false,"args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(chan : Crirc::Protocol::Chan, msg : String? = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/chan.cr#L46","def":{"name":"topic","args":[{"name":"chan","doc":null,"default_value":"","external_name":"chan","restriction":"Crirc::Protocol::Chan"},{"name":"msg","doc":null,"default_value":"nil","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if msg\n topic = \":#{msg}\"\nend\nputs(\"TOPIC #{chan.name} #{topic}\")\n"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller/Command/Ping","path":"Crirc/Controller/Command/Ping.html","kind":"module","full_name":"Crirc::Controller::Command::Ping","name":"Ping","abstract":false,"superclass":null,"ancestors":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"locations":[{"filename":"src/crirc/controller/command/ping.cr","line_number":4,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/ping.cr#L4"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Client","kind":"class","full_name":"Crirc::Controller::Client","name":"Client"}],"namespace":{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"},"doc":"Defines the IRC ping.","summary":"Defines the IRC ping.
","class_methods":[],"constructors":[],"instance_methods":[{"id":"ping(msg:String?="0")-instance-method","html_id":"ping(msg:String?="0")-instance-method","name":"ping","doc":"Send a ping to check if the other end is alive","summary":"Send a ping to check if the other end is alive
","abstract":false,"args":[{"name":"msg","doc":null,"default_value":"\"0\"","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(msg : String? = "0")","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/ping.cr#L8","def":{"name":"ping","args":[{"name":"msg","doc":null,"default_value":"\"0\"","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"PING :#{msg}\")"}},{"id":"pong(msg:String?="0")-instance-method","html_id":"pong(msg:String?="0")-instance-method","name":"pong","doc":"Answer to a ping command with a pong","summary":"Answer to a ping command with a pong
","abstract":false,"args":[{"name":"msg","doc":null,"default_value":"\"0\"","external_name":"msg","restriction":"String | ::Nil"}],"args_string":"(msg : String? = "0")","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/ping.cr#L13","def":{"name":"pong","args":[{"name":"msg","doc":null,"default_value":"\"0\"","external_name":"msg","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"PONG :#{msg}\")"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller/Command/Talk","path":"Crirc/Controller/Command/Talk.html","kind":"module","full_name":"Crirc::Controller::Command::Talk","name":"Talk","abstract":false,"superclass":null,"ancestors":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"locations":[{"filename":"src/crirc/controller/command/talk.cr","line_number":4,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/talk.cr#L4"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Client","kind":"class","full_name":"Crirc::Controller::Client","name":"Client"}],"namespace":{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"},"doc":"Defines the IRC commands related to communicating between \"humans\".","summary":"Defines the IRC commands related to communicating between \"humans\".
","class_methods":[],"constructors":[],"instance_methods":[{"id":"notice(target:Crirc::Protocol::Target,msg:String)-instance-method","html_id":"notice(target:Crirc::Protocol::Target,msg:String)-instance-method","name":"notice","doc":"Send a notice to a target","summary":"Send a notice to a target
","abstract":false,"args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"String"}],"args_string":"(target : Crirc::Protocol::Target, msg : String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/talk.cr#L8","def":{"name":"notice","args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"NOTICE #{target.name} :#{msg}\")"}},{"id":"privmsg(target:Crirc::Protocol::Target,msg:String)-instance-method","html_id":"privmsg(target:Crirc::Protocol::Target,msg:String)-instance-method","name":"privmsg","doc":"Send a message to a chan or an user","summary":"Send a message to a chan or an user
","abstract":false,"args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"String"}],"args_string":"(target : Crirc::Protocol::Target, msg : String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/talk.cr#L13","def":{"name":"privmsg","args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"msg","doc":null,"default_value":"","external_name":"msg","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"PRIVMSG #{target.name} :#{msg}\")"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller/Command/User","path":"Crirc/Controller/Command/User.html","kind":"module","full_name":"Crirc::Controller::Command::User","name":"User","abstract":false,"superclass":null,"ancestors":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"locations":[{"filename":"src/crirc/controller/command/user.cr","line_number":4,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/user.cr#L4"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"}],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Client","kind":"class","full_name":"Crirc::Controller::Client","name":"Client"}],"namespace":{"html_id":"crirc/Crirc/Controller/Command","kind":"module","full_name":"Crirc::Controller::Command","name":"Command"},"doc":"Defines the IRC commands related to the users (whois, mode).","summary":"Defines the IRC commands related to the users (whois, mode).
","class_methods":[],"constructors":[],"instance_methods":[{"id":"mode(target:Crirc::Protocol::Target,flags:String)-instance-method","html_id":"mode(target:Crirc::Protocol::Target,flags:String)-instance-method","name":"mode","doc":"Request to set the mode of the user.\nNOTE : only the user itself can change it\nNOTE : it should also be possible to send empty flags to get the mode","summary":"Request to set the mode of the user.
","abstract":false,"args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"flags","doc":null,"default_value":"","external_name":"flags","restriction":"String"}],"args_string":"(target : Crirc::Protocol::Target, flags : String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/user.cr#L20","def":{"name":"mode","args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"},{"name":"flags","doc":null,"default_value":"","external_name":"flags","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"MODE #{target.name} #{flags}\")"}},{"id":"whois(target:Crirc::Protocol::Target)-instance-method","html_id":"whois(target:Crirc::Protocol::Target)-instance-method","name":"whois","doc":"Request data about a given target","summary":"Request data about a given target
","abstract":false,"args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"}],"args_string":"(target : Crirc::Protocol::Target)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/user.cr#L8","def":{"name":"whois","args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"WHOIS #{target.name}\")"}},{"id":"whowas(target:Crirc::Protocol::Target)-instance-method","html_id":"whowas(target:Crirc::Protocol::Target)-instance-method","name":"whowas","doc":"Request data about the target who used to have the given name","summary":"Request data about the target who used to have the given name
","abstract":false,"args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"}],"args_string":"(target : Crirc::Protocol::Target)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/command/user.cr#L13","def":{"name":"whowas","args":[{"name":"target","doc":null,"default_value":"","external_name":"target","restriction":"Crirc::Protocol::Target"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"puts(\"WHOWAS #{target.name}\")"}}],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Controller/Controller","path":"Crirc/Controller/Controller.html","kind":"module","full_name":"Crirc::Controller::Controller","name":"Controller","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/controller/controller.cr","line_number":5,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/controller.cr#L5"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Controller/Client","kind":"class","full_name":"Crirc::Controller::Client","name":"Client"},{"html_id":"crirc/Crirc/Controller/Server","kind":"class","full_name":"Crirc::Controller::Server","name":"Server"},{"html_id":"crirc/Crirc/Controller/ServerClient","kind":"class","full_name":"Crirc::Controller::ServerClient","name":"ServerClient"}],"namespace":{"html_id":"crirc/Crirc/Controller","kind":"module","full_name":"Crirc::Controller","name":"Controller"},"doc":"Interface implemented by every `Crirc::Controller`","summary":"Interface implemented by every Crirc::Controller
TODO
","class_methods":[],"constructors":[{"id":"new(network)-class-method","html_id":"new(network)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"network","doc":null,"default_value":"","external_name":"network","restriction":""}],"args_string":"(network)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L13","def":{"name":"new","args":[{"name":"network","doc":null,"default_value":"","external_name":"network","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(network)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"gets(*args,**options)-instance-method","html_id":"gets(*args,**options)-instance-method","name":"gets","doc":null,"summary":null,"abstract":false,"args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"args_string":"(*args, **options)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L11","def":{"name":"gets","args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":0,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"network.gets(*args, **options)"}},{"id":"gets(*args,**options,&)-instance-method","html_id":"gets(*args,**options,&)-instance-method","name":"gets","doc":null,"summary":null,"abstract":false,"args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L11","def":{"name":"gets","args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arg":null,"return_type":"","visibility":"Public","body":"network.gets(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"id":"network:Network::Server-instance-method","html_id":"network:Network::Server-instance-method","name":"network","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Network::Server","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L8","def":{"name":"network","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Network::Server","visibility":"Public","body":"@network"}},{"id":"puts(*args,**options)-instance-method","html_id":"puts(*args,**options)-instance-method","name":"puts","doc":null,"summary":null,"abstract":false,"args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"args_string":"(*args, **options)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L10","def":{"name":"puts","args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":0,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"network.puts(*args, **options)"}},{"id":"puts(*args,**options,&)-instance-method","html_id":"puts(*args,**options,&)-instance-method","name":"puts","doc":null,"summary":null,"abstract":false,"args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server.cr#L10","def":{"name":"puts","args":[{"name":"args","doc":null,"default_value":"","external_name":"args","restriction":""}],"double_splat":{"name":"options","doc":null,"default_value":"","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arg":null,"return_type":"","visibility":"Public","body":"network.puts(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Controller/ServerClient","path":"Crirc/Controller/ServerClient.html","kind":"class","full_name":"Crirc::Controller::ServerClient","name":"ServerClient","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Crirc/Controller/Controller","kind":"module","full_name":"Crirc::Controller::Controller","name":"Controller"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/controller/server_client.cr","line_number":6,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/controller/server_client.cr#L6"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Controller/Controller","kind":"module","full_name":"Crirc::Controller::Controller","name":"Controller"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Controller","kind":"module","full_name":"Crirc::Controller","name":"Controller"},"doc":"TODO\nHandles the clients connected to a `Server`","summary":"TODO Handles the clients connected to a Server
A Network
is controlling a I/O.
default port is 6667 or 6697 if ssl is true
","abstract":false,"args":[{"name":"nick","doc":null,"default_value":"","external_name":"nick","restriction":"String"},{"name":"ip","doc":null,"default_value":"","external_name":"ip","restriction":""},{"name":"port","doc":null,"default_value":"nil.as(UInt16 | ::Nil)","external_name":"port","restriction":""},{"name":"ssl","doc":null,"default_value":"true","external_name":"ssl","restriction":""},{"name":"user","doc":null,"default_value":"nil","external_name":"user","restriction":""},{"name":"realname","doc":null,"default_value":"nil","external_name":"realname","restriction":""},{"name":"domain","doc":null,"default_value":"nil","external_name":"domain","restriction":""},{"name":"pass","doc":null,"default_value":"nil","external_name":"pass","restriction":""},{"name":"irc_server","doc":null,"default_value":"nil","external_name":"irc_server","restriction":""},{"name":"read_timeout","doc":null,"default_value":"120_u16","external_name":"read_timeout","restriction":""},{"name":"write_timeout","doc":null,"default_value":"5_u16","external_name":"write_timeout","restriction":""},{"name":"keepalive","doc":null,"default_value":"true","external_name":"keepalive","restriction":""}],"args_string":"(nick : String, ip, port = nil.as(UInt16 | ::Nil), ssl = true, user = nil, realname = nil, domain = nil, pass = nil, irc_server = nil, read_timeout = 120_u16, write_timeout = 5_u16, keepalive = true)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L26","def":{"name":"new","args":[{"name":"nick","doc":null,"default_value":"","external_name":"nick","restriction":"String"},{"name":"ip","doc":null,"default_value":"","external_name":"ip","restriction":""},{"name":"port","doc":null,"default_value":"nil.as(UInt16 | ::Nil)","external_name":"port","restriction":""},{"name":"ssl","doc":null,"default_value":"true","external_name":"ssl","restriction":""},{"name":"user","doc":null,"default_value":"nil","external_name":"user","restriction":""},{"name":"realname","doc":null,"default_value":"nil","external_name":"realname","restriction":""},{"name":"domain","doc":null,"default_value":"nil","external_name":"domain","restriction":""},{"name":"pass","doc":null,"default_value":"nil","external_name":"pass","restriction":""},{"name":"irc_server","doc":null,"default_value":"nil","external_name":"irc_server","restriction":""},{"name":"read_timeout","doc":null,"default_value":"120_u16","external_name":"read_timeout","restriction":""},{"name":"write_timeout","doc":null,"default_value":"5_u16","external_name":"write_timeout","restriction":""},{"name":"keepalive","doc":null,"default_value":"true","external_name":"keepalive","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(nick, ip, port, ssl, user, realname, domain, pass, irc_server, read_timeout, write_timeout, keepalive)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"close-instance-method","html_id":"close-instance-method","name":"close","doc":"End the connection","summary":"End the connection
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L71","def":{"name":"close","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"socket.close\n@socket = nil\n"}},{"id":"connect-instance-method","html_id":"connect-instance-method","name":"connect","doc":"Connect to the target server","summary":"Connect to the target server
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L41","def":{"name":"connect","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"tcp_socket = TCPSocket.new(@ip, @port)\ntcp_socket.read_timeout = @read_timeout\ntcp_socket.write_timeout = @write_timeout\ntcp_socket.keepalive = @keepalive\n@socket = tcp_socket\nif @ssl\n @socket = OpenSSL::SSL::Socket::Client.new(tcp_socket)\nend\nself\n"}},{"id":"domain:String?-instance-method","html_id":"domain:String?-instance-method","name":"domain","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L18","def":{"name":"domain","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@domain"}},{"id":"gets-instance-method","html_id":"gets-instance-method","name":"gets","doc":"Wait and fetch the next incoming message","summary":"Wait and fetch the next incoming message
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L59","def":{"name":"gets","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"socket.gets"}},{"id":"ip:String-instance-method","html_id":"ip:String-instance-method","name":"ip","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L12","def":{"name":"ip","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@ip"}},{"id":"irc_server:String?-instance-method","html_id":"irc_server:String?-instance-method","name":"irc_server","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L20","def":{"name":"irc_server","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@irc_server"}},{"id":"keepalive:Bool-instance-method","html_id":"keepalive:Bool-instance-method","name":"keepalive","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L23","def":{"name":"keepalive","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool","visibility":"Public","body":"@keepalive"}},{"id":"nick:String-instance-method","html_id":"nick:String-instance-method","name":"nick","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L11","def":{"name":"nick","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@nick"}},{"id":"pass:String?-instance-method","html_id":"pass:String?-instance-method","name":"pass","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L19","def":{"name":"pass","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@pass"}},{"id":"port:UInt16-instance-method","html_id":"port:UInt16-instance-method","name":"port","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt16","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L13","def":{"name":"port","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt16","visibility":"Public","body":"@port"}},{"id":"puts(data)-instance-method","html_id":"puts(data)-instance-method","name":"puts","doc":"Send a message to the server","summary":"Send a message to the server
","abstract":false,"args":[{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L64","def":{"name":"puts","args":[{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"socket.puts(data.strip)\nsocket.puts(\"\\r\\n\")\nsocket.flush\n"}},{"id":"read_timeout:UInt16-instance-method","html_id":"read_timeout:UInt16-instance-method","name":"read_timeout","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt16","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L21","def":{"name":"read_timeout","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt16","visibility":"Public","body":"@read_timeout"}},{"id":"realname:String-instance-method","html_id":"realname:String-instance-method","name":"realname","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L17","def":{"name":"realname","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@realname"}},{"id":"socket-instance-method","html_id":"socket-instance-method","name":"socket","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L35","def":{"name":"socket","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if @socket.nil?\n raise(\"Socket is not set. Add `client.connect()` before using `client.socket`\")\nend\n@socket.as(IrcSocket)\n"}},{"id":"ssl:Bool-instance-method","html_id":"ssl:Bool-instance-method","name":"ssl","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L14","def":{"name":"ssl","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool","visibility":"Public","body":"@ssl"}},{"id":"start(&)-instance-method","html_id":"start(&)-instance-method","name":"start","doc":"Start a new Controller::Client binded to the current object","summary":"Start a new Controller::Client binded to the current object
","abstract":false,"args":[],"args_string":"(&)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L52","def":{"name":"start","args":[],"double_splat":null,"splat_index":null,"yields":1,"block_arg":null,"return_type":"","visibility":"Public","body":"controller = Controller::Client.new(self)\ncontroller.init\nyield controller\n"}},{"id":"user:String-instance-method","html_id":"user:String-instance-method","name":"user","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L16","def":{"name":"user","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user"}},{"id":"write_timeout:UInt16-instance-method","html_id":"write_timeout:UInt16-instance-method","name":"write_timeout","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : UInt16","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L22","def":{"name":"write_timeout","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"UInt16","visibility":"Public","body":"@write_timeout"}}],"macros":[],"types":[{"html_id":"crirc/Crirc/Network/Client/IrcSocket","path":"Crirc/Network/Client/IrcSocket.html","kind":"alias","full_name":"Crirc::Network::Client::IrcSocket","name":"IrcSocket","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/network/client.cr","line_number":9,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/client.cr#L9"}],"repository_name":"crirc","program":false,"enum":false,"alias":true,"aliased":"IO+","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Network/Client","kind":"class","full_name":"Crirc::Network::Client","name":"Client"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Network/Network","path":"Crirc/Network/Network.html","kind":"module","full_name":"Crirc::Network::Network","name":"Network","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/network/network.cr","line_number":5,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/network.cr#L5"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[{"html_id":"crirc/Crirc/Network/Client","kind":"class","full_name":"Crirc::Network::Client","name":"Client"},{"html_id":"crirc/Crirc/Network/ServerClient","kind":"class","full_name":"Crirc::Network::ServerClient","name":"ServerClient"}],"namespace":{"html_id":"crirc/Crirc/Network","kind":"module","full_name":"Crirc::Network","name":"Network"},"doc":"Interface implemented by every `Crirc::Network`.","summary":"Interface implemented by every Crirc::Network
.
Wait for a client and yield it
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server.cr#L10","def":{"name":"accept","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"start-instance-method","html_id":"start-instance-method","name":"start","doc":"Listen on the port","summary":"Listen on the port
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server.cr#L6","def":{"name":"start","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Network/ServerClient","path":"Crirc/Network/ServerClient.html","kind":"class","full_name":"Crirc::Network::ServerClient","name":"ServerClient","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Crirc/Network/Network","kind":"module","full_name":"Crirc::Network::Network","name":"Network"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/network/server_client.cr","line_number":3,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server_client.cr#L3"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[{"html_id":"crirc/Crirc/Network/Network","kind":"module","full_name":"Crirc::Network::Network","name":"Network"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Network","kind":"module","full_name":"Crirc::Network","name":"Network"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new-class-method","html_id":"new-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server_client.cr#L6","def":{"name":"new","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"gets-instance-method","html_id":"gets-instance-method","name":"gets","doc":"Wait and fetch the next incoming message","summary":"Wait and fetch the next incoming message
","abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server_client.cr#L10","def":{"name":"gets","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}},{"id":"puts(data)-instance-method","html_id":"puts(data)-instance-method","name":"puts","doc":"Send a message to the server","summary":"Send a message to the server
","abstract":false,"args":[{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/network/server_client.cr#L14","def":{"name":"puts","args":[{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}}],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Protocol","path":"Crirc/Protocol.html","kind":"module","full_name":"Crirc::Protocol","name":"Protocol","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/crirc/protocol/target.cr","line_number":2,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/target.cr#L2"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc","kind":"module","full_name":"Crirc","name":"Crirc"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"crirc/Crirc/Protocol/Chan","path":"Crirc/Protocol/Chan.html","kind":"class","full_name":"Crirc::Protocol::Chan","name":"Chan","abstract":false,"superclass":{"html_id":"crirc/Crirc/Protocol/Target","kind":"class","full_name":"Crirc::Protocol::Target","name":"Target"},"ancestors":[{"html_id":"crirc/Crirc/Protocol/Target","kind":"class","full_name":"Crirc::Protocol::Target","name":"Target"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/chan.cr","line_number":4,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L4"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Protocol","kind":"module","full_name":"Crirc::Protocol","name":"Protocol"},"doc":"Represents an IRC channel.","summary":"Represents an IRC channel.
","class_methods":[],"constructors":[{"id":"new(name)-class-method","html_id":"new(name)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"args_string":"(name)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L23","def":{"name":"new","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"modes:String-instance-method","html_id":"modes:String-instance-method","name":"modes","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L20","def":{"name":"modes","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@modes"}},{"id":"modes=(modes:String)-instance-method","html_id":"modes=(modes:String)-instance-method","name":"modes=","doc":null,"summary":null,"abstract":false,"args":[{"name":"modes","doc":null,"default_value":"","external_name":"modes","restriction":"String"}],"args_string":"(modes : String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L20","def":{"name":"modes=","args":[{"name":"modes","doc":null,"default_value":"","external_name":"modes","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@modes = modes"}},{"id":"motd:Motd-instance-method","html_id":"motd:Motd-instance-method","name":"motd","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Motd","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L21","def":{"name":"motd","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Motd","visibility":"Public","body":"@motd"}},{"id":"motd=(motd:Motd)-instance-method","html_id":"motd=(motd:Motd)-instance-method","name":"motd=","doc":null,"summary":null,"abstract":false,"args":[{"name":"motd","doc":null,"default_value":"","external_name":"motd","restriction":"Motd"}],"args_string":"(motd : Motd)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L21","def":{"name":"motd=","args":[{"name":"motd","doc":null,"default_value":"","external_name":"motd","restriction":"Motd"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@motd = motd"}},{"id":"name:String-instance-method","html_id":"name:String-instance-method","name":"name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L19","def":{"name":"name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@name"}}],"macros":[],"types":[{"html_id":"crirc/Crirc/Protocol/Chan/Motd","path":"Crirc/Protocol/Chan/Motd.html","kind":"class","full_name":"Crirc::Protocol::Chan::Motd","name":"Motd","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/chan.cr","line_number":5,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L5"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Protocol/Chan","kind":"class","full_name":"Crirc::Protocol::Chan","name":"Chan"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"id":"new(message,user)-class-method","html_id":"new(message,user)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":""},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":""}],"args_string":"(message, user)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L10","def":{"name":"new","args":[{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":""},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(message, user)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"message:String-instance-method","html_id":"message:String-instance-method","name":"message","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L6","def":{"name":"message","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@message"}},{"id":"set_motd(message,user)-instance-method","html_id":"set_motd(message,user)-instance-method","name":"set_motd","doc":null,"summary":null,"abstract":false,"args":[{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":""},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":""}],"args_string":"(message, user)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L14","def":{"name":"set_motd","args":[{"name":"message","doc":null,"default_value":"","external_name":"message","restriction":""},{"name":"user","doc":null,"default_value":"","external_name":"user","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@message = message\n@user = user\n@timestamp = Time.utc.to_unix\n"}},{"id":"timestamp:Int64-instance-method","html_id":"timestamp:Int64-instance-method","name":"timestamp","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L8","def":{"name":"timestamp","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"id":"user:String-instance-method","html_id":"user:String-instance-method","name":"user","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L7","def":{"name":"user","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@user"}}],"macros":[],"types":[]},{"html_id":"crirc/Crirc/Protocol/Chan/ParsingError","path":"Crirc/Protocol/Chan/ParsingError.html","kind":"class","full_name":"Crirc::Protocol::Chan::ParsingError","name":"ParsingError","abstract":false,"superclass":{"html_id":"crirc/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"crirc/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/chan.cr","line_number":31,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/chan.cr#L31"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Protocol/Chan","kind":"class","full_name":"Crirc::Protocol::Chan","name":"Chan"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Protocol/Message","path":"Crirc/Protocol/Message.html","kind":"class","full_name":"Crirc::Protocol::Message","name":"Message","abstract":false,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/message.cr","line_number":6,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L6"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[{"id":"R_ARG","name":"R_ARG","value":"\"(?: (?Message
is the object that parse the raw TCP body as a IRC message.
The arguments formated into an Array.
","abstract":false,"args":[],"args_string":" : Array(String)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L55","def":{"name":"argument_list","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"if @arguments.nil? && @message.nil?\n return Array(String).new\nend\nif @message.nil?\n return (@arguments.as(String)).split(\" \")\nend\nif @arguments.nil?\n return [@message.as(String)]\nend\nreturn ((@arguments.as(String)).split(\" \")) << (@message.as(String))\n"}},{"id":"arguments:String?-instance-method","html_id":"arguments:String?-instance-method","name":"arguments","doc":"The arguments as a string (\"user1 +0\", \"pingmessage\", ...)","summary":"The arguments as a string (\"user1 +0\", \"pingmessage\", ...)
","abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L17","def":{"name":"arguments","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@arguments"}},{"id":"command:String-instance-method","html_id":"command:String-instance-method","name":"command","doc":"The command (\"PRIVMSG\", \"PING\", ...)","summary":"The command (\"PRIVMSG\", \"PING\", ...)
","abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L14","def":{"name":"command","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@command"}},{"id":"message:String?-instance-method","html_id":"message:String?-instance-method","name":"message","doc":"The last argument when \":\" (\"This is a privmsg message\", ...)","summary":"The last argument when \":\" (\"This is a privmsg message\", ...)
","abstract":false,"args":[],"args_string":" : String?","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L20","def":{"name":"message","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"id":"raw:String-instance-method","html_id":"raw:String-instance-method","name":"raw","doc":"Raw message without parsing","summary":"Raw message without parsing
","abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L8","def":{"name":"raw","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@raw"}},{"id":"raw_arguments:String-instance-method","html_id":"raw_arguments:String-instance-method","name":"raw_arguments","doc":"Concatenation of `arguments` and `message`.\nIf the message exists, it is preceded by ':'\n\n```\nmsg.raw_arguments # => \"user1 +0 :do something\"\n```","summary":"Concatenation of #arguments
and #message
.
Source of the message (ex: \"0\", \"abc@xyz\", ...)
","abstract":false,"args":[],"args_string":" : String","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L11","def":{"name":"source","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@source"}}],"macros":[],"types":[{"html_id":"crirc/Crirc/Protocol/Message/ParsingError","path":"Crirc/Protocol/Message/ParsingError.html","kind":"class","full_name":"Crirc::Protocol::Message::ParsingError","name":"ParsingError","abstract":false,"superclass":{"html_id":"crirc/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"crirc/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/message.cr","line_number":62,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/message.cr#L62"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Protocol/Message","kind":"class","full_name":"Crirc::Protocol::Message","name":"Message"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]},{"html_id":"crirc/Crirc/Protocol/Target","path":"Crirc/Protocol/Target.html","kind":"class","full_name":"Crirc::Protocol::Target","name":"Target","abstract":true,"superclass":{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"crirc/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"crirc/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crirc/protocol/target.cr","line_number":2,"url":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/target.cr#L2"}],"repository_name":"crirc","program":false,"enum":false,"alias":false,"aliased":"","const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[{"html_id":"crirc/Crirc/Protocol/Chan","kind":"class","full_name":"Crirc::Protocol::Chan","name":"Chan"},{"html_id":"crirc/Crirc/Protocol/User","kind":"class","full_name":"Crirc::Protocol::User","name":"User"}],"including_types":[],"namespace":{"html_id":"crirc/Crirc/Protocol","kind":"module","full_name":"Crirc::Protocol","name":"Protocol"},"doc":"A target is a virtuel IRC entity that can receive message (`User`, `Chan`).","summary":"A target is a virtuel IRC entity that can receive message (User
, Chan
).
A User repretents a IRC client.
","class_methods":[],"constructors":[{"id":"new(nick,id=nil,whois=nil)-class-method","html_id":"new(nick,id=nil,whois=nil)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"nick","doc":null,"default_value":"","external_name":"nick","restriction":""},{"name":"id","doc":null,"default_value":"nil","external_name":"id","restriction":""},{"name":"whois","doc":null,"default_value":"nil","external_name":"whois","restriction":""}],"args_string":"(nick, id = nil, whois = nil)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/user.cr#L17","def":{"name":"new","args":[{"name":"nick","doc":null,"default_value":"","external_name":"nick","restriction":""},{"name":"id","doc":null,"default_value":"nil","external_name":"id","restriction":""},{"name":"whois","doc":null,"default_value":"nil","external_name":"whois","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(nick, id, whois)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"id":"parse(source:String):User-class-method","html_id":"parse(source:String):User-class-method","name":"parse","doc":null,"summary":null,"abstract":false,"args":[{"name":"source","doc":null,"default_value":"","external_name":"source","restriction":"String"}],"args_string":"(source : String) : User","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/protocol/user.cr#L23","def":{"name":"parse","args":[{"name":"source","doc":null,"default_value":"","external_name":"source","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"User","visibility":"Public","body":"m = source.match(/\\A:?(?TODO .
","class_methods":[],"constructors":[{"id":"new-class-method","html_id":"new-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/user_list.cr#L17","def":{"name":"new","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"id":"puts(context:Controller::Controller,data)-instance-method","html_id":"puts(context:Controller::Controller,data)-instance-method","name":"puts","doc":"TODO\nNOTE: combine data+user\nBroadcast a message to the users","summary":"TODO NOTE: combine data+user Broadcast a message to the users
","abstract":false,"args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"args_string":"(context : Controller::Controller, data)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/user_list.cr#L24","def":{"name":"puts","args":[{"name":"context","doc":null,"default_value":"","external_name":"context","restriction":"Controller::Controller"},{"name":"data","doc":null,"default_value":"","external_name":"data","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@users.each do |user|\n context.puts(data)\nend"}},{"id":"users:Array(Protocol::User)-instance-method","html_id":"users:Array(Protocol::User)-instance-method","name":"users","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Protocol::User)","source_link":"https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/broadcast/user_list.cr#L14","def":{"name":"users","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Protocol::User)","visibility":"Public","body":"@users"}}],"macros":[],"types":[]}]}]}})