aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig12
-rw-r--r--README.md1
-rw-r--r--lib/IRC/Client.pm64
-rw-r--r--lib/IRC/Client/Message.pm613
4 files changed, 26 insertions, 4 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..3e899fd
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
+max_line_length = 80
+
+[*.json]
+indent_style = space
+indent_size = 4
diff --git a/README.md b/README.md
index 9b5382e..55555f9 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@ Zoffix Znet (http://zoffix.com/)
#### CONTRIBUTORS
+[tyil](https://www.tyil.nl/)
[MasterDuke17](https://github.com/zoffixznet/perl6-IRC-Client/commits?author=MasterDuke17)
#### LICENSE
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;
}
}