module AutovoiceReport
AutovoiceReport โ autoop-style one-line auto-voice announcement cards. Public: format_announcement, format_status, announcement_body Depends: IrcFormat Tests: test/lib/autovoice_report_test.rb
Constants
- IRC_CTRL
- IRC_RESET
- REPLY_TAG
- STYLE_NICK
- STYLE_NUMBER
- STYLE_TEXT
- STYLE_TITLE
Public Instance Methods
Source
# File lib/autovoice/report.rb, line 46 def announcement_body(nick, count, flair: nil) text = "#{STYLE_NICK}#{nick}#{IRC_RESET}#{STYLE_TEXT} is number " \ "#{STYLE_NUMBER}#{count}#{IRC_RESET}#{STYLE_TEXT} to receive auto voice#{IRC_RESET}" return text if flair.nil? || flair.to_s.strip.empty? "#{text}#{STYLE_TEXT} โ \"#{flair.to_s.strip}\"#{IRC_RESET}" end
Source
# File lib/autovoice/report.rb, line 22 def format_announcement(nick:, count:, flair: nil, lag_ms: 0, ping_ms: nil, server: nil) format_reply_card( title: "auto voice", body: announcement_body(nick, count, flair: flair), lag_ms: lag_ms, ping_ms: ping_ms, server: server ) end
Source
# File lib/autovoice/report.rb, line 38 def format_denial(lag_ms: 0) format_reply_card( title: "auto voice", body: "#{STYLE_TEXT}Only channel ops and registered admins can manage auto voice.#{IRC_RESET}", lag_ms: lag_ms ) end
Source
# File lib/autovoice/report.rb, line 54 def format_reply_card(title:, body:, lag_ms: 0, ping_ms: nil, server: nil, tag: REPLY_TAG, banner_style: STYLE_TITLE) [ IrcFormat.bracket_label(tag), IrcFormat.menu_heading(title.to_s.strip, style: banner_style), body, IrcLag.announcement_footer(lag_ms: lag_ms, ping_ms: ping_ms, server: server) ].join(" ") end
Source
# File lib/autovoice/report.rb, line 32 def format_status(enabled:, interval_min:, total:, lag_ms: 0) state = enabled ? "on" : "off" body = "#{STYLE_TEXT}auto voice #{state} ยท every #{interval_min} min ยท total #{total}#{IRC_RESET}" format_reply_card(title: "auto voice", body: body, lag_ms: lag_ms) end