my $text = $default_text;
# translate text
- if (substr($channel, 0, 1) eq '#') {
+ if (is_a_channel($channe)) {
my $channel_language = config_get_key3('channels', $channel, 'language');
if (defined($channel_language)) {
$text = translate_with_default($channel_language, $text_key, $default_text);
}
+# is_a_channel()
+#
+# find out if a nick/channel string is really a channel name
+#
+# parameter:
+# - nick/channel string
+# return:
+# - 0/1
+sub is_a_channel {
+ my $string = shift;
+
+ my $channel = extract_channel($string);
+
+
+ if (length($channel) == 0) {
+ return 0;
+ }
+
+ return 1;
+}
+
+
+# extract_channel()
+#
+# extract a channel name from a nick/channel string
+#
+# parameter:
+# - nick/channel string
+# return:
+# - channel name, without prefix, or ''
+sub extract_channel {
+ my $string = shift;
+
+ if (substr($string, 0, 1) eq '#') {
+ return substr($string, 1);
+ }
+ if (substr($string, 0, 1) eq '&') {
+ return substr($string, 1);
+ }
+ if (substr($string, 0, 1) eq '!') {
+ return substr($string, 1);
+ }
+ if (substr($string, 0, 1) eq '+') {
+ return substr($string, 1);
+ }
+ if (substr($string, 0, 1) eq '.') {
+ return substr($string, 1);
+ }
+ if (substr($string, 0, 1) eq '~') {
+ return substr($string, 1);
+ }
+
+
+ return '';
+}
+
+
# handle_command()
#
# wrapper to handle all commands