diff options
Diffstat (limited to 'lib/IRC')
-rw-r--r-- | lib/IRC/Client.pm6 | 4 | ||||
-rw-r--r-- | lib/IRC/Client/Message.pm6 | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/IRC/Client.pm6 b/lib/IRC/Client.pm6 index cd2348e..f0bc7a8 100644 --- a/lib/IRC/Client.pm6 +++ b/lib/IRC/Client.pm6 @@ -21,6 +21,7 @@ has $.debug; has Lock $!lock = Lock.new; has Channel $!event-pipe = Channel.new; has Channel $!socket-pipe = Channel.new; +has Bool $.autoprefix = True; my &colored = (try require Terminal::ANSIColor) === Nil && sub (Str $s, $) { $s } || @@ -44,9 +45,12 @@ submethod BUILD ( Str:D :$userhost = 'localhost', Str:D :$userreal = 'Perl6 IRC Client', :$channels = ('#perl6',), + Bool:D :$autoprefix = True, ) { @!filters = @$filters; @!plugins = @$plugins; + $!autoprefix = $autoprefix; + my %servers = %$servers; my %all-conf = :$port, :$password, :$host, :$nick, :$alias, diff --git a/lib/IRC/Client/Message.pm6 b/lib/IRC/Client/Message.pm6 index 79ef7d8..ff307ef 100644 --- a/lib/IRC/Client/Message.pm6 +++ b/lib/IRC/Client/Message.pm6 @@ -40,8 +40,10 @@ role Privmsg does M { role Privmsg::Channel does Privmsg { has $.channel; method reply ($text, :$where) { - $.irc.send-cmd: 'PRIVMSG', $where // $.channel, $text, - :$.server, :prefix("$.nick, "); + $.irc.autoprefix + ?? $.irc.send-cmd: 'PRIVMSG', $where // $.channel, $text, :$.server, :prefix("$.nick, ") + !! $.irc.send-cmd: 'PRIVMSG', $where // $.channel, $text, :$.server + ; } } role Privmsg::Me does Privmsg { @@ -60,8 +62,11 @@ role Notice does M { role Notice::Channel does Notice { has $.channel; method reply ($text, :$where) { - $.irc.send-cmd: 'NOTICE', $where // $.channel, $text, - :$.server, :prefix("$.nick, "); + $.irc.autoprefix + ?? $.irc.send-cmd: 'NOTICE', $where // $.channel, $text, :$.server, :prefix("$.nick, ") + !! $.irc.send-cmd: 'NOTICE', $where // $.channel, $text, :$.server + ; + $.replied = True; } } |