Zirak / SO-ChatBot

Other
124 stars 62 forks source link

Quote command #289

Open Zirak opened 6 years ago

Zirak commented 6 years ago

So we've been overloading /learn to act as a quote, but wouldn't it be nice to have a dedicated quote command?

Since we'll never do our own bash.org clone (or in preparation for it!), how about:

!!quote add 8333542 gaybars
Added quote "gaybars" by loktar
!!quote list loktar
gaybars
!!quote get gaybars
...link to 8333542...
!!quote random
...random quote...

Instead of a message id you could of course provide a link to the message. The API seems meh tbh, maybe it can be switched up a bit:

!!quote loktar gaybars 8333542
Added quote
!!quote loktar
gaybars
!!quote gaybars (?)
:(
!!quote
...random quote...

meh I dunno. Point being you'll get dedicated listing, random quotes, attribution, etc. Maybe /quote info as well.

Thoughts?

rlemon commented 6 years ago

I'd prefer to see !!quote <link> gaybars and have the bot figure out the rest (user, blah blah).

I can't read.

Zirak commented 6 years ago

The quotes will be stored globally, not attached to a user, so that'll be ok

benjamingr commented 6 years ago

Sounds good to me, although I'd like to keep the old ones as cultural heritage :D

Zirak commented 6 years ago

Implemented in e0eced87bd91c1a07317534be7434fcbf2ce247c.

Let's see if we can get a list of quotes going on.

Zirak commented 6 years ago

So here's a bunch of commands which send out a chat link:

cmds.filter(
  c => /https?:\/\/chat.stackoverflow.com\/transcript\/message\/(\d+)/.exec(c.output)
).map(
  c => `!!quote add ${/https?:\/\/chat.stackoverflow.com\/transcript\/message\/(\d+)/.exec(c.output)[1]} ${c.name} `
).join('\n')

I opened up all of these and classified:

There are a bunch of messages from c# which don't make sense to me, so can someone like @kendfrey who's also there comment if they're relevant or not?

x !!quote add 15616092 coffeetime
r !!quote add 9521836 playerpimp
v !!quote add 9522001 install javascript
r !!quote add 15819184 room owner
v !!quote add 16093859 zirak advice
v !!quote add 16345533 the dog
v !!quote add 1668581 $.baby
v !!quote add 16814295 silo poop
v !!quote add 18694750 one thing only
v !!quote add 18817124 dolphin truth
v !!quote add 19016655 fattie
r !!quote add 19095410 mikes delicious d
v !!quote add 19274036 forking mouse
r !!quote add 19493785 the farter
v !!quote add 19579298 kendall pedo
x !!quote add 20088409 oneroom
x !!quote add 20346611 loktarownsm&ms
v !!quote add 9611625 artistic poop
r !!quote add 14206191 abhishek porn freak
v !!quote add 8333542 gayclubs
v !!quote add 20948884 carb0nshel1
x !!quote add 21063587 mannips (sorry rlemon but wut)
r !!quote add 21270518 craig spence true love
v !!quote add 19356916 debug
r !!quote add 21657301 algosmarts
v !!quote add 21861071 toteshomo
v !!quote add 22223150 mosho boner
v !!quote add 22755378 thunderstorm
x !!quote add 22774358 thunderstormsforever
v !!quote add 22976625 israel
x !!quote add 22979625 ignorethelemon
x !!quote add 23264370 redo
v !!quote add 23583724 classic bartek
v !!quote add 23991609 banana
v !!quote add 24495580 computer poop
x !!quote add 24642815 2020/07/23 (c#)
v !!quote add 26327476 kinky kendall
x !!quote add 12086475 birthinghips
v !!quote add 26701263 mustard
x !!quote add 27175763 i_am_a_merciful_king (deleted?)
v !!quote add 27206649 tv pee
v !!quote add 34369826 jordans favorite
v !!quote add 34707230 pedophiles
x !!quote add 35861495 kieran (c#)
x !!quote add 36268713 jhmckimm (c#)
x !!quote add 30365182 c# (c#)
x !!quote add 36370032 proxy (c#)
x !!quote add 36378525 war (c#)
v !!quote add 35287481 utf-8
v !!quote add 36509244 notice me
v !!quote add 36356418 shut up and do it
v !!quote add 35698571 haskell
x !!quote add 30339846 panini (c#)
x !!quote add 38214586 kidssay (c#)
v !!quote add 38358835 kramb
x !!quote add 38438842 wietlol (c#)

Once they're added, I'm thinking of /forgeting them and /learning a "use /quote get name". Maybe even patching /learn so when you /learn <> msgurl you'll be told to use /quote instead.

Thoughts?

kendfrey commented 6 years ago

For the C# room, I'd keep these: c# haskell panini

My approach to the command syntax would be:

!!quote add gaybars 8333542
I'll remember Loktar's gaybars quote.
!!quote list
gaybars, kinkykendall, ...
!!quote list Loktar
gaybars
!!quote gaybars
<link>
!!quote | !!quote random
<random link>

Perhaps a !!quote <user> would be nice for a random quote from a specific user, but that might be too ambiguous with !!quote <name>.

Zirak commented 6 years ago

Will do.

A couple of possible changes: One being that if it's not recognised as a command argument it'll try fetching a quote (as you also suggested), the other that a quote name is stripped of whitespace and lowercased.

rlemon commented 6 years ago

@Zirak can we close this? seems sorted now.