package plugins import ( "math/rand" "regexp" "github.com/matrix-org/gomatrix" ) // ROA sends a random rule type ROA struct { } // Descr describes this plugin func (h *ROA) Descr() string { return "Rules of Acquisition." } // Re checks for roa: func (h *ROA) Re() string { return `(?i)^roa:$` } // Match determines if we are asking for an roa func (h *ROA) Match(user, msg string) bool { re := regexp.MustCompile(h.Re()) return re.MatchString(msg) } // SetStore we don't need a store here func (h *ROA) SetStore(_ PluginStore) {} // Process func (h *ROA) Process(from, post string) string { a := []string{ `1 Once you have their money, you never give it back.`, `2 The best deal is the one that brings the most profit.`, `3 Never spend more for an acquisition than you have to.`, `4 A woman wearing clothes is like a man in the kitchen.`, `5 If you can't break a contract, bend it.`, `6 Never allow family to stand in the way of opportunity.`, `7 Keep your ears open.`, `9 Opportunity plus instinct equals profit.`, `10 Greed is eternal.`, `11 Latinum isn't the only thing that shines.`, `12 Anything worth selling is worth selling twice.`, `13 Anything worth doing is worth doing for money.`, `14 Anything stolen is pure profit.`, `15 Acting stupid is often smart.`, `16 A deal is a deal.`, `17 A contract is a contract is a contract ... but only between Ferengi.`, `18 A Ferengi without profit is no Ferengi at all.`, `19 Satisfaction is not guaranteed.`, `21 Never place friendship above profit.`, `22 A wise man can hear profit in the wind.`, `23 Nothing is more important than your health ... except for your money.`, `24 Latinum can't buy happiness, but you can sure have a blast renting it.`, `25 You can't make a deal if you're dead.`, `27 There's nothing more dangerous than an honest businessman.`, `31 Never make fun of a Ferengi's mother.`, `33 It never hurts to suck up to the boss.`, `34 War is good for business`, `35 Peace is good for business.`, `45 Expand or die.`, `47 Never trust a man wearing a better suit than your own.`, `48 The bigger the smile, the sharper the knife.`, `52 Never ask when you can take.`, `57 Good customers are as rare as latinum. Treasure them.`, `58 There is no substitute for success.`, `59 Free advice is seldom cheap.`, `60 Keep your lies consistent.`, `62 The riskier the road, the greater the profit.`, `65 Win or lose, there's always Hupyrian beetle snuff.`, `69 When she discusses money for "favors", charge her what she'll pay.`, `74 Knowledge equals profit.`, `75 Home is where the heart is, but the stars are made of latinum.`, `76 Every once in a while, declare peace. It confuses the hell out of your enemies.`, `79 Beware of the Vulcan greed for knowledge.`, `82 The flimsier the product, the higher the price.`, `85 Never let the competition know what you're thinking.`, `89 Ask not what your profits can do for you, but what you can do for your profits.`, `94 Females and finances don't mix.`, `95 Expand or die.`, `97 Enough...is never enough.`, `98 Every man has his price.`, `99 Trust is the biggest liability of all.`, `102 Nature decays, but latinum lasts forever.`, `103 Sleep can interfere with an opportunity.`, `104 Faith moves mountains...of inventory.`, `106 There is no honor in poverty.`, `109 Dignity and an empty sack is worth the sack.`, `111 Treat people in your debt like family ... exploit them.`, `112 Never have sex with the boss's sister.`, `113 Always have sex with the boss.`, `121 Everything is for sale, even friendship.`, `123 Even a blind man can recognize the glow of latinum.`, `125 You can't make a deal if you're dead.`, `139 Wives serve, brothers inherit.`, `141 Only fools pay retail.`, `144 There's nothing wrong with charity...as long as it winds up in your pocket.`, `162 Even in the worst of times, someone makes a profit.`, `168 Whisper your way to success.`, `177 Know your enemies...but do business with them always.`, `181 Not even dishonesty can tarnish the shine of profit.`, `189 Let others keep their reputation...you keep their latinum.`, ` - A man is only worth the sum of his possessions.`, `190 Hear all, trust nothing.`, `192 Never cheat a Klingon...unless you can get away with it.`, `194 It's always good to know about new customers before they walk in your door.`, `202 The justification for profit is profit.`, `203 New customers are like razor-toothed gree-worms. They can be succulent, but sometimes they bite back.`, `208 Sometimes the only thing more dangerous than a question is an answer.`, `211 Employees are the rungs on the ladder of success. Don't hesitate to step on them.`, `214 Never begin a negotiation on an empty stomach.`, `217 You can't free a fish from water.`, `218 Always know what you're buying.`, `223 (incomplete, but presumably concerned the relationship between "keeping busy" and "being successful")`, `229 Latinum lasts longer than lust.`, `236 You can't buy fate.`, `239 Never be afraid to mislabel a product.`, `242 More is good...all is better.`, `255 A wife is a luxury...a smart accountant a necessity.`, `261 A wealthy man can afford anything except a conscience.`, `263 Never allow doubt to tarnish your lust for latinum.`, `266 When in doubt, lie.`, `284 Deep down, everyone's a Ferengi.`, `285 No good deed ever goes unpunished.`, `286 When Morn leaves, it's all over.`, `299 After you've exploited someone, it never hurts to thank them. That way, it's easier to exploit them next time.`, `- Exploitation begins at home.`, `(The unwritten rule) When no appropriate rule applies, make one up.`, `- When the messenger comes to appropriate your profits ... kill the messenger.`, `- Time, like latinum, is a highly limited commodity.`, `- Always inspect the merchandise before making a deal.`, `- Money is money, but females are better.`, `- Why ask, when you can take?`, `- A good lie is easier to believe than the truth.`, `- If that's what's written, then that's what's written.`, } return a[rand.Intn(len(a))] } // RespondText func (h *ROA) RespondText(c *gomatrix.Client, ev *gomatrix.Event, _, _ string) error { return SendText(c, ev.RoomID, h.Process(ev.Sender, "")) } // Name ROA func (h *ROA) Name() string { return "ROA" }