ErbotBugs

“if fsbot suddenly takes over your computer… he’s either part of skynet or there’s a security exploit”, e1f on #emacs

A note by the author

, (set-term "why" "unecho why not?")

^^ This is the way I’ve now set fsbot’s infobot entry for “why”. The following english-request does not do the equivalent because fsbot interprets it as a question:

, why is unecho why not?

- Deego, May 2014

Bugs or TODO's

<alin> , '("hello" . "hello")
<fsbot> ERROR: Wrong type argument: listp, "hello"
<belito> fsbot: , t8 es en tienes videos de emacs
<fsbot> try:  ,,, ,memo-help ,paren hey, Iconifying,_Deiconifying,_and_Hiding_Frames locking,_non-strict_(RCS) pages, say, h\
ttp://es.tldp.org/Manuales-LuCAS/ENROOTADOR/v2.6/Guia_del_enROOTador/Guia_del_enROOTador-6.html
<indio> Oh! A bug!
<indio> fsbot: t8 es en tienes videos de emacs
<fsbot> you have emacs videos

<indio> ,t8 en es I don't know. I'm sorry.
<fsbot> Pongo t sé. I m apesadumbrado.
<indio> ,t8 en es "I don't know. I'm sorry."
<fsbot> No sé. Estoy apesadumbrado. [this is the good one]

<Odin-LAP> deego: I know how to get the bot irresponsive for a while,
	   actually. Delete something from a large entry. :)

You can make fsbot more than unresponsive, if you mapcar a circular list, fsbot dies. 😟

<deego> maybe fsbot shouldn't respond to double comma unless the double comma
	is "preceded" by \b
<deego> rather, whitespace or ^						
<xah_> deego: yeah, agree.

<ams> <make fsbot join ##hurd>
<deego> ams: in general, i thought fsbot's db would become too stretched to be
	useful in #emacs if we make the same bot instance know about a lot of
	different topics..						
<e1f> distributed bots each with a different knowledgebase
<e1f> so if one doesn't know it, it queries the others?
<johnsu01> we need to get back to work on the inter-bot protocol :
<ams> Your reasons make sense, I guess..
<ams> deego: Maybe it would make sense to have fsbot keep seperate databased
      for channels, and one general.					
<indio> Please no.							
<deego> (for example, if we query him for ,schism, we want him to just point
	us to the emacsvxemacs schism, not show us 4 choices, one for emacs,
	one for mysql, etc)
<ams> Oh, right, you can query fsbot...
<xah> there's a schism in mysql?
<deego> s/point us to/show us the answer for
<deego> xah: dunno
<bkhl> Well, it makes sense to me to allow a channel-specific definition.
<bkhl> But it should fall back to the "global" definition, I think.	[17:39]
<deego> how?
<ams> bkhl: The problem is when you query fsbot. :/
<ams> bkhl: I tihnk it makes sense if you ask for FOO in the channel, and in
      privmsg, you should get the same response.
<bkhl> ,in #emacs schism is see emacsvxemacs
<bkhl> Or something.
<bkhl> ams: that's a good point.					
<bkhl> Though it could do an /whois and see which channels the user is in.
<ams> bkhl: What if the user is in two channels that fsbot is already in?
<bkhl> ams: then show both, or whatever.
<bkhl> It could _say_
<ams> Would be a lot of data to send.					
<deego> hm, what if the user could just say ,foo is #emacs bar; foo is also
	#hurd baz; etc.
<bkhl> "in #emacs, schism is"
<deego> in that case, that is interpreted as a channel-local term..
<deego> ah
<deego> nicer syntax
<ams> I think that having one bot for all free software related projects would be nice.								
<bkhl> ams: of course, if you want that sort of scope, it almost makes more sense to build it into freenode...
<indio> Channel specific would be weird, for instance there is ##hurd and #hurd.
<ams> indio: You could make groups.
<indio> Why not just properly name the entry ?			
<bkhl> indio: that's too easy.
<indio> :)
<ams> indio: What if project FOO and project BAR have the same name for two different thingies?						
<bkhl> I guess you can then make a redirection in the entry.
<deego> but the problem remains even after namespacing.. you'd want.. in #emacs, schism is redirect emacsvsxemacsschism :)
<ams> Right.
<indio> ams: foo-thinguie bar-thingie ?
<twb> You make it overloadable.						
<twb> You can assign data to a top-level keyword, or to a channel-level keyword.
<indio> They will be exceptions...
<twb> e.g. in #emacs planner would talk about planner-el, but elsewhere
      planner would talk about GNOME's planner app
<ams> indio: foo-thingie -- frobs the bits in machine
<indio> And if you asked ,thingie fsbot would say see bar-thingie foo-thingie
<ams> indio: foo-thingie (for bar project) --frobs the bytes in your toes.
<deego> indio: that's the current behavior
<ams> Oh..								[17:48]
<indio> yup, i like the was it fsbot is now.
<deego> when it sees multiple possibilities, example ,,need
<fsbot> try:  HowSemanticFulfillsThoseNeeds NeedHelpWithIndentations..
	WeNeedToolsToOrganize WhatAreTheNeedsOfProgrammers
<ams> deego: (re: hurdie is ##hurd) Though, one could argue equally for hurdie, it is a spanish bot, so it might have spanish definitions.
<ams> Which brings up another interesting point....
<Riastradh> You could implement internationalization features for the bot so that it would respond based on the channel...
<ams> Riastradh: What if you are polylingual?
<indio> ,libtranslate
<fsbot> From memory, libtranslate is [0] a library for translating text and
	web pages between natural languages. Its modular infrastructure allows
	to implement new translation services separately from the core
	library. ..[Type ,more]
<deego> ooh
<Riastradh> ams, you mean, 'what if the channel is polylingual?'
<indio> fsbot could remember each preference, could he ?		[17:53]
<indio> Being at #emacs-es made me feel that if fsbot could translate
	   existing entries would help helpless newbies at #emacs-es.	[17:54]
<ams> deego: Actually, I think using something like ,CHANEL-WORD would be ok.
<deego> indeed, nice ideas, i will store this conversation.
<indio> And also have language slots, like Gentoo has for packages.
<ams> deego: Sometimes you actually want the emacs stuff in another channel,
      often people in #gnu ask some question, and it is more work asking them
      to join #emacs, than to simply say ,foo.				[17:55]
<deego> and #emacs-es looks much easier to implement without breaking
	anything.  something in its .emacs says that all msgs to #emacs-es
	should undergo a translate attempt: just like what google/ff extension
	does: if it is already english (spanish in this case)), it is left
	alone..								[17:56]
<indio> I wouldn't like to see fsbot discriminate in groups.
<deego> ams: i see your point
<indio> Let's be the lab rats at #emacs-es!
<ams> deego: Then for seperate languages you could have fsbot-lang or whatever.
									[17:57]
<ams> deego: Though, that might not make sense either, since packages are
      called the same in whatever language. :?				[17:58]
<indio> With the language slots, if there wouldn't be a term in Spanish,
	   fsbot could translate the one that existed.			[17:59]
<indio> till the slot gets filled
<indio> And that way here in #emacs there won't be any noticeable change.
									[18:00]
<deego> neat
<bkhl> ams: ,, erbot
<fsbot> bkhl, I heard erbot is ... http://www.emacswiki.org/cgi-bin/wik

should result in fsbot addressing newnick rather than bojohan. bpalmer’s idea.

<kensanata> deego: yeah, fsbot should listen to all messages saying ...\+\+ or
            ...\-\- on the channel...
kensanata> maybe fsbot should have a control channel.  there we could tell
            fsbot to say stuff on other channels.			[09:56]
kensanata> trick some newbies and all that.  :)
<Lukhas> kensanata: hmmm
<deego> :)
<Lukhas> i don't think that's a good idea :)
<Lukhas> flooding and so on
<kensanata> sure, we kick evil-doers from the control channel.
*** vpalle (~vpalle@park222.koll.au.dk) has quit: Client Quit		[09:58]
<deego> it will sure be fun, we can always disable it :) /me puts it on a todo
<kensanata> we could also have a semi-open system...  maybe an entry that
            holds the password, and then we can /msg fsbot #emacs foobar
            Hello, my padwan learner!					[09:59]
<Lukhas> keep in mind that newbies coming here to ask question won't all find
         this funny	

Suggestions/wishlist

It would be cool if fsbot would output the number of the entry recently added so…

indio
,CanalEmacsEsNovedades is also Planner 3.41: http://download.gna.org/planner-el/
fsbot
Added entry to the term “CanalEmacsEsNovedades

one can inmediately move the entry to a different position without having to query fsbot. Maybe also be able to insert an entry to a certain Nth place.

<shapr> deego: maybe ,, active could say what users currently on the channel have spoken in the last twenty minutes?
.


<resolve> actually, something which might be nifty - when a person
joins who hasn't been here before, fsbot sends a message welcoming,
telling them to ask away, etc


ErBot