aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleks-Daniel Jakimenko-Aleksejev <alex.jakimenko@gmail.com>2019-04-12 18:08:15 +0300
committerGitHub <noreply@github.com>2019-04-12 18:08:15 +0300
commit7d060c7983a0d8e5d5092dc7d88d5f1b8a7577a7 (patch)
tree2c18ce8a3bc3f84d51d3351c6b7fe3abd1eda951
parent590379beaaf8fbf525c9f14d0f34116ed20f6ea3 (diff)
parentb8f67601e0086d7a2403e4f47ca720e3df3c5365 (diff)
downloadIRC::Client-7d060c7983a0d8e5d5092dc7d88d5f1b8a7577a7.tar.gz
IRC::Client-7d060c7983a0d8e5d5092dc7d88d5f1b8a7577a7.tar.bz2
Merge pull request #61 from Tyil/reply-no-prefix
Add an option to not automatically prefix replies with a user's nick
-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;
}
}