rbot
4 years agoplugin(factoids): use registry for storage see #42
Matthias Hecker [Thu, 23 Apr 2020 21:06:01 +0000 (23:06 +0200)] 
plugin(factoids): use registry for storage see #42

4 years agoensures the path reported by gems does exists
Matthias Hecker [Wed, 22 Apr 2020 12:40:12 +0000 (14:40 +0200)] 
ensures the path reported by gems does exists

4 years agoplugin(quotes): use registry for storage see #42
Matthias Hecker [Mon, 20 Apr 2020 17:47:11 +0000 (19:47 +0200)] 
plugin(quotes): use registry for storage see #42

4 years agoplugin(alias): use registry for storage see #42
Matthias Hecker [Mon, 20 Apr 2020 17:25:52 +0000 (19:25 +0200)] 
plugin(alias): use registry for storage see #42

4 years agoplugin(lart): fix not save before load
Matthias Hecker [Fri, 17 Apr 2020 21:13:32 +0000 (23:13 +0200)] 
plugin(lart): fix not save before load

4 years agoplugin(salut): use registry for storage see #42
Matthias Hecker [Fri, 17 Apr 2020 21:11:35 +0000 (23:11 +0200)] 
plugin(salut): use registry for storage see #42

4 years agoplugin(lart): refactor to use registry to persist
Matthias Hecker [Thu, 16 Apr 2020 21:59:08 +0000 (23:59 +0200)] 
plugin(lart): refactor to use registry to persist

see #42

4 years agocore: sets plugin_path to loaded plugins
Matthias Hecker [Thu, 16 Apr 2020 21:48:42 +0000 (23:48 +0200)] 
core: sets plugin_path to loaded plugins

While loading a plugin in the manager using #load_botmodule_file this
will remember the directory of the file that is being loaded in
@next_plugin_path. In the plugin/BotModule initialization we set the
path in plugin_path of the plugin.

This was the only solution I could find to get this information in the
plugin. It is useful because this allows the plugin to know in which
directory it is located, it can then easily access data files stored
alongside the plugin.

Some built-in plugins (see #42) use the data/rbot/templates to copy
data files on bot load (see #repopulate_botclass_directory) into the
profile directory (~/.rbot/).

4 years agorefactor: wordlist shouldn't use bot singleton #35
Matthias Hecker [Wed, 15 Apr 2020 18:26:54 +0000 (20:26 +0200)] 
refactor: wordlist shouldn't use bot singleton #35

also related to #41 and #6

4 years agorefactor: remove unused userdata module
Matthias Hecker [Wed, 15 Apr 2020 17:56:48 +0000 (19:56 +0200)] 
refactor: remove unused userdata module

I never saw a plugin use this feature besides wof, IRC user objects should not hold
persistent data like this, I rather have the IRC interface clean. The
general idea is a good though, especially easier per-channel, per-user
data persistence.

4 years agoplugin(wheelfortune): remove botdata dependency
Matthias Hecker [Wed, 15 Apr 2020 17:55:32 +0000 (19:55 +0200)] 
plugin(wheelfortune): remove botdata dependency

4 years agoplugin(translator): removed google translate
Matthias Hecker [Tue, 14 Apr 2020 18:11:06 +0000 (20:11 +0200)] 
plugin(translator): removed google translate

yandex still works surprisingly enough

4 years agofix nick renaming during connection
Matthias Hecker [Tue, 14 Apr 2020 17:50:36 +0000 (19:50 +0200)] 
fix nick renaming during connection

4 years agorefactor: httputil no longer core module see #38
Matthias Hecker [Tue, 14 Apr 2020 17:42:37 +0000 (19:42 +0200)] 
refactor: httputil no longer core module see #38

This is intended to make testing/mocking of the http client easier.

4 years agohttputil: remove obsolete version_1_2 declaration
Matthias Hecker [Tue, 14 Apr 2020 17:12:43 +0000 (19:12 +0200)] 
httputil: remove obsolete version_1_2 declaration

4 years agoremove obsolete require of net/https
Matthias Hecker [Tue, 14 Apr 2020 17:10:30 +0000 (19:10 +0200)] 
remove obsolete require of net/https

4 years agoreadme: added build status image
Matthias Hecker [Tue, 14 Apr 2020 11:57:46 +0000 (13:57 +0200)] 
readme: added build status image

4 years agoplugin(oxford): fix empty service result see #37
Matthias Hecker [Mon, 13 Apr 2020 18:55:55 +0000 (20:55 +0200)] 
plugin(oxford): fix empty service result see #37

4 years agoplugin(points): forgot one special case, see #34
Matthias Hecker [Mon, 13 Apr 2020 18:48:40 +0000 (20:48 +0200)] 
plugin(points): forgot one special case, see #34

Tokens that include itself ++/-- are now ignored as well.

4 years agoplugin(points): new message parser, see #34
Matthias Hecker [Mon, 13 Apr 2020 18:40:11 +0000 (20:40 +0200)] 
plugin(points): new message parser, see #34

4 years agomessage: add #thanks method, similar to okay
Matthias Hecker [Mon, 13 Apr 2020 18:39:48 +0000 (20:39 +0200)] 
message: add #thanks method, similar to okay

4 years agoplugin(oxford): fix result handling, closes #37
Matthias Hecker [Mon, 13 Apr 2020 18:07:02 +0000 (20:07 +0200)] 
plugin(oxford): fix result handling, closes #37

4 years agoplugin(points): disregard self after stripping color codes
Matthias Hecker [Sat, 11 Apr 2020 23:39:08 +0000 (01:39 +0200)] 
plugin(points): disregard self after stripping color codes

4 years agoplugin(points): strip/ignore some terms closes #34
Matthias Hecker [Sat, 11 Apr 2020 19:25:03 +0000 (21:25 +0200)] 
plugin(points): strip/ignore some terms closes #34

- strip color/bold codes in terms
- ignore terms with ++/-- in them

4 years agoplugin(hangman): fixes word generator closes #9
Matthias Hecker [Fri, 10 Apr 2020 19:24:33 +0000 (21:24 +0200)] 
plugin(hangman): fixes word generator closes #9

This now uses wordgenerator.net

4 years agoplugin(oxford): moved to lexico.com, closes #13
Matthias Hecker [Thu, 9 Apr 2020 20:23:27 +0000 (22:23 +0200)] 
plugin(oxford): moved to lexico.com, closes #13

4 years agofix: in-memory registry persist correctly
Matthias Hecker [Wed, 8 Apr 2020 20:16:43 +0000 (22:16 +0200)] 
fix: in-memory registry persist correctly

4 years agoplugin(note): test cases added, closes #24
Matthias Hecker [Tue, 7 Apr 2020 17:57:49 +0000 (19:57 +0200)] 
plugin(note): test cases added, closes #24

4 years agoplugin(points): +/- must come after, closes #34
Matthias Hecker [Mon, 6 Apr 2020 19:08:55 +0000 (21:08 +0200)] 
plugin(points): +/- must come after, closes #34

This modifies the karma/points plugin to ignore increment/
decrement suffixes. `--SOMETHING` is more trouble than its worth,
people will write --NAME as a signature, or paste a command
line argument, e.g. `ls --sort time` which causes issues.

I also added tests for the points plugin, the plan is
to make the plugin testing easier more "rubionic"

4 years agotests: mocked bot and messages added, added points tests
Matthias Hecker [Mon, 6 Apr 2020 18:20:32 +0000 (20:20 +0200)] 
tests: mocked bot and messages added, added points tests

4 years agoregistry: add in-memory implementation for tests
Matthias Hecker [Mon, 6 Apr 2020 18:19:50 +0000 (20:19 +0200)] 
registry: add in-memory implementation for tests

4 years agofix: gettext updated each_textdomain > each_text_domains
Matthias Hecker [Mon, 6 Apr 2020 18:19:15 +0000 (20:19 +0200)] 
fix: gettext updated each_textdomain > each_text_domains

4 years agoplugin(search): fix wolfram and gdef, removed some
Matthias Hecker [Fri, 3 Apr 2020 11:51:57 +0000 (13:51 +0200)] 
plugin(search): fix wolfram and gdef, removed some

this removes gcount and gtime from the search plugin,
google no longer provides this information easily

4 years agoplugin(search): fix search and gcalc, closes #28, #29
Matthias Hecker [Thu, 2 Apr 2020 07:19:40 +0000 (09:19 +0200)] 
plugin(search): fix search and gcalc, closes #28, #29

4 years agoplugin(rot13): test assert added
Matthias Hecker [Wed, 1 Apr 2020 13:48:02 +0000 (15:48 +0200)] 
plugin(rot13): test assert added

4 years agotest: rot13 simplified
Matthias Hecker [Tue, 31 Mar 2020 12:33:48 +0000 (14:33 +0200)] 
test: rot13 simplified

4 years agorefactor: logger moved away from ircbot (exp.)
Matthias Hecker [Tue, 31 Mar 2020 12:30:08 +0000 (14:30 +0200)] 
refactor: logger moved away from ircbot (exp.)

This moves the logger management thread/queue to a seperate singleton.
It removes the explicit stopping/restarting of the logging thread since
the thread should behave like a daemon thread anyway.
Still needs to be tested to work in daemonize.

4 years agoadded simple dockerfile
Matthias Hecker [Tue, 31 Mar 2020 12:28:55 +0000 (14:28 +0200)] 
added simple dockerfile

4 years agotest: fix shadowed test method
Matthias Hecker [Tue, 31 Mar 2020 12:27:30 +0000 (14:27 +0200)] 
test: fix shadowed test method

4 years agotest: add gettext/unittest to gemfile
Matthias Hecker [Tue, 31 Mar 2020 12:25:58 +0000 (14:25 +0200)] 
test: add gettext/unittest to gemfile

4 years agotest: change db adapter to dbm
Matthias Hecker [Mon, 30 Mar 2020 21:55:28 +0000 (23:55 +0200)] 
test: change db adapter to dbm

4 years agotest: first plugin test added for rot13
Matthias Hecker [Mon, 30 Mar 2020 21:46:19 +0000 (23:46 +0200)] 
test: first plugin test added for rot13

4 years agotest: optional registry adapter tests
Matthias Hecker [Sun, 29 Mar 2020 11:01:22 +0000 (13:01 +0200)] 
test: optional registry adapter tests

4 years agoci: fix rake invocation in script
Matthias Hecker [Sun, 29 Mar 2020 10:54:07 +0000 (12:54 +0200)] 
ci: fix rake invocation in script

4 years agofix: plugins delegate disregarding all options given
Matthias Hecker [Sun, 29 Mar 2020 10:47:45 +0000 (12:47 +0200)] 
fix: plugins delegate disregarding all options given

4 years agotest: small changes and fixes to existing tests
Matthias Hecker [Sun, 29 Mar 2020 10:46:43 +0000 (12:46 +0200)] 
test: small changes and fixes to existing tests

4 years agoci: add rake test command to script
Matthias Hecker [Sun, 29 Mar 2020 10:45:59 +0000 (12:45 +0200)] 
ci: add rake test command to script

4 years agoadded rake and updated Gemfile and Gemfile.lock
Matthias Hecker [Sat, 28 Mar 2020 03:04:42 +0000 (04:04 +0100)] 
added rake and updated Gemfile and Gemfile.lock

4 years agoplugin(imdb): changed base url
Matthias Hecker [Sat, 28 Mar 2020 02:55:57 +0000 (03:55 +0100)] 
plugin(imdb): changed base url

4 years agoci: fix travis ci config
Matthias Hecker [Sat, 28 Mar 2020 02:48:50 +0000 (03:48 +0100)] 
ci: fix travis ci config

4 years agoalways log to stdout with debug flag
Matthias Hecker [Sat, 28 Mar 2020 02:44:08 +0000 (03:44 +0100)] 
always log to stdout with debug flag

This makes it so the -d debug flag on the rbot
command line will always log to STDOUT, previously
it would just force the log level.

4 years agoci: add system dependencies to travis ci
Matthias Hecker [Sat, 28 Mar 2020 02:10:10 +0000 (03:10 +0100)] 
ci: add system dependencies to travis ci

4 years agoplugin(script): remove deprecated $SAFE
Matthias Hecker [Sat, 28 Mar 2020 02:04:19 +0000 (03:04 +0100)] 
plugin(script): remove deprecated $SAFE

closes #32

4 years agoexperiment with travis-ci setup
Matthias Hecker [Fri, 27 Mar 2020 21:32:01 +0000 (22:32 +0100)] 
experiment with travis-ci setup

4 years agogem: support for newest ruby versions
Matthias Hecker [Fri, 27 Mar 2020 21:31:25 +0000 (22:31 +0100)] 
gem: support for newest ruby versions

4 years agodeps: update dependencies
Matthias Hecker [Fri, 27 Mar 2020 21:29:47 +0000 (22:29 +0100)] 
deps: update dependencies

4 years agoMerge pull request #30 from ruby-rbot/dependabot/bundler/nokogiri-1.10.9
Matthias Hecker [Fri, 27 Mar 2020 20:00:16 +0000 (21:00 +0100)] 
Merge pull request #30 from ruby-rbot/dependabot/bundler/nokogiri-1.10.9

Bump nokogiri from 1.6.1 to 1.10.9

4 years agoMerge pull request #31 from ruby-rbot/dependabot/bundler/rack-1.6.13
Matthias Hecker [Fri, 27 Mar 2020 20:00:09 +0000 (21:00 +0100)] 
Merge pull request #31 from ruby-rbot/dependabot/bundler/rack-1.6.13

Bump rack from 1.5.2 to 1.6.13

4 years agoBump rack from 1.5.2 to 1.6.13
dependabot[bot] [Fri, 27 Mar 2020 19:58:49 +0000 (19:58 +0000)] 
Bump rack from 1.5.2 to 1.6.13

Bumps [rack](https://github.com/rack/rack) from 1.5.2 to 1.6.13.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/1.5.2...1.6.13)

Signed-off-by: dependabot[bot] <support@github.com>
4 years agoBump nokogiri from 1.6.1 to 1.10.9
dependabot[bot] [Fri, 27 Mar 2020 19:58:47 +0000 (19:58 +0000)] 
Bump nokogiri from 1.6.1 to 1.10.9

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.6.1 to 1.10.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.6.1...v1.10.9)

Signed-off-by: dependabot[bot] <support@github.com>
4 years agoMerge pull request #2 from mroch/patch-1
Matthias Hecker [Fri, 27 Mar 2020 19:58:41 +0000 (20:58 +0100)] 
Merge pull request #2 from mroch/patch-1

Update markov.rb

4 years agoMerge pull request #4 from ahpook/rename_karma
Matthias Hecker [Fri, 27 Mar 2020 19:58:27 +0000 (20:58 +0100)] 
Merge pull request #4 from ahpook/rename_karma

Rename and improve karma plugin

4 years agoMerge pull request #27 from ohadlevy/gemspec-fixes
Matthias Hecker [Fri, 27 Mar 2020 19:58:16 +0000 (20:58 +0100)] 
Merge pull request #27 from ohadlevy/gemspec-fixes

this enables to build again from gemspec

5 years agothis enables to build again from gemspec
Ohad Levy [Mon, 22 Apr 2019 13:26:14 +0000 (16:26 +0300)] 
this enables to build again from gemspec

8 years agofixes registry for 2.3.0, bug caused by wrong #get_impl origin/journal
Matthias Hecker [Fri, 25 Mar 2016 16:10:50 +0000 (17:10 +0100)] 
fixes registry for 2.3.0, bug caused by wrong #get_impl

previously getimpl returned eigenclasses aswell which
always was an issue but i guess a minor change in ruby
triggered this.

8 years agoImprovements to the points plugin
Eric Sorenson [Wed, 16 Dec 2015 00:32:45 +0000 (16:32 -0800)] 
Improvements to the points plugin

This commit makes a couple of improvements the points plugin:
- added a 'pointsdump' command to show everything in the registry,
  not just the best and worst
- fixed Hash#index deprecation warnings under ruby >1.9
- made nicer messages when displaying stats on an empty registry

8 years agoRenames the 'karma' plugin to a 'points' system
Eric Sorenson [Tue, 15 Dec 2015 22:44:51 +0000 (14:44 -0800)] 
Renames the 'karma' plugin to a 'points' system

Prior to this commit, rbot used a "karma" system for keeping
track of user points. This phrasing, while widespread, is
unnecessarily appropriationist.

This commit renames the plugin to a more neutral "points"
system, accomplishing exactly the same goal without using
culturally problematic language.

For more background please read: http://bit.ly/1MfLmce

8 years agoUpdate markov.rb
Marshall Roch [Sun, 9 Aug 2015 19:59:29 +0000 (12:59 -0700)] 
Update markov.rb

This gets `markov probability` and `markov status` running again. I think there were some backwards-incompatible changes to MessageMapper that make the defaults required even with `[]`'s or something?

8 years agowebservice: add erb template render methods
Matthias Hecker [Sat, 4 Jul 2015 19:24:01 +0000 (21:24 +0200)] 
webservice: add erb template render methods

8 years agojournal: introduce ensure_payload_index
Matthias Hecker [Sat, 4 Jul 2015 11:51:42 +0000 (13:51 +0200)] 
journal: introduce ensure_payload_index

8 years agojournal: wrap postgres client in single thread
Matthias Hecker [Sat, 4 Jul 2015 11:35:40 +0000 (13:35 +0200)] 
journal: wrap postgres client in single thread

8 years agojournal: move journal accessor in coremodule
Matthias Hecker [Wed, 24 Jun 2015 19:19:07 +0000 (19:19 +0000)] 
journal: move journal accessor in coremodule

8 years agojournal: simplified irc logging
Matthias Hecker [Sun, 21 Jun 2015 11:29:02 +0000 (13:29 +0200)] 
journal: simplified irc logging

8 years agojournal: irc logging module
Matthias Hecker [Sat, 20 Jun 2015 22:05:38 +0000 (00:05 +0200)] 
journal: irc logging module

8 years agojournal: allow hash/proc for query in count and remove
Matthias Hecker [Sat, 20 Jun 2015 18:39:39 +0000 (20:39 +0200)] 
journal: allow hash/proc for query in count and remove

8 years agojournal: start with core botmodule, api changes
Matthias Hecker [Sat, 20 Jun 2015 17:25:39 +0000 (19:25 +0200)] 
journal: start with core botmodule, api changes

8 years agojournal: add mongodb storage backend
Matthias Hecker [Mon, 15 Jun 2015 21:56:20 +0000 (23:56 +0200)] 
journal: add mongodb storage backend

8 years agojournal: cleanup
Matthias Hecker [Sun, 14 Jun 2015 22:32:11 +0000 (00:32 +0200)] 
journal: cleanup

8 years agojournal, integrated in bot
Matthias Hecker [Sun, 14 Jun 2015 18:52:47 +0000 (20:52 +0200)] 
journal, integrated in bot

8 years agojournal: even more tests
Matthias Hecker [Sun, 14 Jun 2015 18:05:45 +0000 (20:05 +0200)] 
journal: even more tests

8 years agojournal: more postgres tests
Matthias Hecker [Sun, 14 Jun 2015 17:31:55 +0000 (19:31 +0200)] 
journal: more postgres tests

8 years agojournal: finishing postgres adapter
Matthias Hecker [Sun, 14 Jun 2015 16:27:32 +0000 (18:27 +0200)] 
journal: finishing postgres adapter

8 years agojournal: started implementing postgres storage
Matthias Hecker [Sun, 14 Jun 2015 01:01:25 +0000 (03:01 +0200)] 
journal: started implementing postgres storage

8 years agojournal: unsubscribe added
Matthias Hecker [Sat, 13 Jun 2015 23:36:33 +0000 (01:36 +0200)] 
journal: unsubscribe added

8 years agointroducing a persistent message queue, the "journal"
Matthias Hecker [Sat, 13 Jun 2015 22:18:35 +0000 (00:18 +0200)] 
introducing a persistent message queue, the "journal"

8 years agoscript: make $SAFE configureable
Matthias Hecker [Sat, 13 Jun 2015 18:03:40 +0000 (20:03 +0200)] 
script: make $SAFE configureable

8 years agoplugins, improved how we lookup plugins filename
Matthias Hecker [Sat, 13 Jun 2015 17:54:18 +0000 (19:54 +0200)] 
plugins, improved how we lookup plugins filename

8 years agointroduce reload alias for rescan
Matthias Hecker [Sat, 13 Jun 2015 17:49:11 +0000 (19:49 +0200)] 
introduce reload alias for rescan

8 years agologging, irc fix loglevel i messed up
Matthias Hecker [Sat, 13 Jun 2015 17:48:43 +0000 (19:48 +0200)] 
logging, irc fix loglevel i messed up

8 years agologging improved in irc
Matthias Hecker [Sat, 13 Jun 2015 17:18:09 +0000 (19:18 +0200)] 
logging improved in irc

8 years agologging, print >=warning to stderr
Matthias Hecker [Sat, 13 Jun 2015 17:11:55 +0000 (19:11 +0200)] 
logging, print >=warning to stderr

8 years agologging: proper stderr logger for error/fatal
Matthias Hecker [Sat, 13 Jun 2015 15:46:52 +0000 (17:46 +0200)] 
logging: proper stderr logger for error/fatal

9 years agoplugins fix missing save for 1.9
Matthias H [Wed, 11 Mar 2015 08:51:52 +0000 (09:51 +0100)] 
plugins fix missing save for 1.9

9 years agoplugins: allow rescanning of one botmodule only
Matthias H [Wed, 11 Mar 2015 07:32:16 +0000 (08:32 +0100)] 
plugins: allow rescanning of one botmodule only

9 years agoapi doc: fix path in task
Matthias H [Wed, 11 Mar 2015 07:30:40 +0000 (08:30 +0100)] 
api doc: fix path in task

9 years agoupdated copyright notice and authors
Matthias H [Mon, 9 Mar 2015 22:07:20 +0000 (23:07 +0100)] 
updated copyright notice and authors

9 years agoruby 2.2: fix a obscure regexp escaping bug
Matthias H [Mon, 9 Mar 2015 08:24:26 +0000 (09:24 +0100)] 
ruby 2.2: fix a obscure regexp escaping bug

9 years agowebservice: fix cleanup typo
Matthias H [Mon, 9 Mar 2015 08:17:48 +0000 (09:17 +0100)] 
webservice: fix cleanup typo

9 years agorake: yarn doc task
Matthias H [Mon, 9 Mar 2015 04:00:59 +0000 (05:00 +0100)] 
rake: yarn doc task

9 years agoreadme: point to new wiki
Matthias H [Mon, 9 Mar 2015 03:12:10 +0000 (04:12 +0100)] 
readme: point to new wiki