class NickFallbacksPlugin
Constants
- ERRONEOUS_NICKNAME_NUMERIC
- ISUPPORT_NUMERIC
Public Class Methods
Source
# File plugins/nick_fallbacks.rb, line 35 def self.apply!(bot) config = config_for(bot) return [] if config.empty? nicklen = nicklen_for(bot) nicks = expanded_nicks(config, nicklen: nicklen) return [] if nicks.empty? bot.config.nicks = nicks preferred = config[:preferred].to_s.strip bot.nick = preferred if !preferred.empty? && preferred != bot.nick && nicks.include?(preferred) nicks end
Source
# File plugins/nick_fallbacks.rb, line 17 def self.config_for(bot) bot.config.shared[:nick_fallbacks] || {} end
Source
# File plugins/nick_fallbacks.rb, line 25 def self.expanded_nicks(config, nicklen:) NickFallbacks.expand( preferred: config[:preferred], bases: config[:bases], static: config[:static], suffix: config[:suffix] || NickFallbacks::DEFAULT_SUFFIX, nicklen: nicklen ) end
Source
# File plugins/nick_fallbacks.rb, line 21 def self.nicklen_for(bot) NickFallbacks.numeric_nicklen(bot.irc.isupport["NICKLEN"]) end
Source
# File plugins/nick_fallbacks.rb, line 49 def self.try_next_configured_nick!(bot, rejected_nick) return nil unless bot.respond_to?(:generate_next_nick!) next_nick = bot.generate_next_nick!(rejected_nick.to_s) bot.nick = next_nick next_nick end
Public Instance Methods
Source
# File plugins/nick_fallbacks.rb, line 61 def on_erroneous_nickname(m) self.class.try_next_configured_nick!(bot, m.params[1]) end
Source
# File plugins/nick_fallbacks.rb, line 57 def on_isupport(_m) self.class.apply!(bot) end