split quote/fun modules

master
an 2019-02-24 06:01:46 -05:00
parent 79e6dbd495
commit 09591b03d1
2 changed files with 40 additions and 30 deletions

View File

@ -1,12 +1,7 @@
require 'open-uri'
require 'json'
class Mod_Fun < Vrobot4::Module::Module class Mod_Fun < Vrobot4::Module::Module
def self.type() "Fun" end def self.type() "Fun" end
Vrobot4::Module.add_module_type self Vrobot4::Module.add_module_type self
QDB = "http://greyserv.net/qdb"
def initialize info def initialize info
super super
register :c_carmack, "carmack", "mmmmmmmmmm" register :c_carmack, "carmack", "mmmmmmmmmm"
@ -16,7 +11,6 @@ class Mod_Fun < Vrobot4::Module::Module
register :c_box, "box", "S H I T P O S T I N G" register :c_box, "box", "S H I T P O S T I N G"
register :c_zdoom, "zdoom", "ZDoom™" register :c_zdoom, "zdoom", "ZDoom™"
register :c_marble, "marble", "mararuaruaruaruarb" register :c_marble, "marble", "mararuaruaruaruarb"
register :c_quote, "quote", "Queries the Doominati Quote Database."
register :c_what, "what", "What the fuck did you just fucking say about" register :c_what, "what", "What the fuck did you just fucking say about"
end end
@ -40,7 +34,7 @@ class Mod_Fun < Vrobot4::Module::Module
end end
def c_marble m, argv def c_marble m, argv
check_args argv, "", "N" check_args argv, "N"
if argv.empty? then n = 20 if argv.empty? then n = 20
else n = argv.to_i end else n = argv.to_i end
@ -57,29 +51,6 @@ class Mod_Fun < Vrobot4::Module::Module
m.reply text m.reply text
end end
def c_quote m, argv
if argv.empty?
q, num = nil, nil
max = JSON.parse(open(QDB + "/interface.cgi").read)["numQuotes"]
loop do
num = rand(max) + 1
q = open(QDB + "/q/" + num.to_s).read
break unless m.serv.flags.include? "L" and
(q.lines.count > 4 or q.length > 1000)
end
m.reply_b "Quote %i:\n" % [num] + q
elsif Vrobot4.is_num? argv
m.reply_b open(QDB + "/q/" + argv.to_i.to_s).read
else
raise ArgumentError, "Invalid query" if argv.include? ?&
q = URI.escape argv
info = JSON.parse(open(QDB + "/interface.cgi?query=" + q).read)
raise ArgumentError, "No results" unless info["searchResults"].any?
res = info["searchResults"].sample
m.reply_b "Quote %i:\n" % [res] + open(QDB + "/q/" + res.to_s).read
end
end
def c_what m, argv def c_what m, argv
if m.serv.flags.include? ?L if m.serv.flags.include? ?L
m.reply "What the fuck did you just fucking say about me, you little bitch?" m.reply "What the fuck did you just fucking say about me, you little bitch?"

39
source/modules/qdb.rb Normal file
View File

@ -0,0 +1,39 @@
require 'open-uri'
require 'json'
class Mod_QDB < Vrobot4::Module::Module
def self.type() "QDB" end
Vrobot4::Module.add_module_type self
QDB = "http://greyserv.net/qdb"
def initialize info
super
register :c_quote, "quote", "Queries the Doominati Quote Database."
end
def c_quote m, argv
if argv.empty?
q, num = nil, nil
max = JSON.parse(open(QDB + "/interface.cgi").read)["numQuotes"]
loop do
num = rand(max) + 1
q = open(QDB + "/q/" + num.to_s).read
break unless m.serv.flags.include? "L" and
(q.lines.count > 4 or q.length > 1000)
end
m.reply_b "Quote %i:\n" % [num] + q
elsif Vrobot4.is_num? argv
m.reply_b open(QDB + "/q/" + argv.to_i.to_s).read
else
raise ArgumentError, "Invalid query" if argv.include? ?&
q = URI.escape argv
info = JSON.parse(open(QDB + "/interface.cgi?query=" + q).read)
raise ArgumentError, "No results" unless info["searchResults"].any?
res = info["searchResults"].sample
m.reply_b "Quote %i:\n" % [res] + open(QDB + "/q/" + res.to_s).read
end
end
end
## EOF