1. 19 Oct, 2018 1 commit
    • Jeppe Fihl-Pearson's avatar
      Fix missing string formatting in "Command not found" output (#1259) · fe64c251
      Jeppe Fihl-Pearson authored
      95bb61f0 attempted to switch the string formatting in `unknown_command()` to use
      f-strings instead of string concatenation, but failed to add the `f` prefix to
      the string, meaning the "Did you mean" part of the output when a nonexisting
      command is attempted is outputted literally as:
      
      > Did you mean "{self.bot_config.BOT_PREFIX}{alternatives}" ?
      
      This fixes that so the variables will be replaced in the string as intended.
      fe64c251
  2. 28 May, 2018 2 commits
  3. 25 May, 2018 1 commit
  4. 24 May, 2018 2 commits
  5. 12 May, 2018 1 commit
  6. 05 May, 2018 1 commit
  7. 07 Apr, 2018 1 commit
  8. 18 Jul, 2017 1 commit
    • Guillaume Binet's avatar
      This adds threading support officially. (#1057) · 46302b04
      Guillaume Binet authored
      * This adds threading support officially.
      
      It is only implemented on Slack at the moment.
      
      - adds a parent field to Message signaling to backends that it is a threaded
      response.
      - retrofit in_reply_to as a signal to thread by putting this message as
      parent without changing the frm/to behavior.
      - adds an optional threaded boolean for the build_reply & co that needs
      to be implemented by the backends (similar category as private).
      
      * Test miss
        :wq
      
      * Filter out notifications of threads status (#1060)
      
      * Added DIVERT_TO_THREAD.
      
      Similar to DIVERT_TO_PRIVATE to force some commands into a thread so it
      is less noisy on chat.
      46302b04
  9. 03 Jul, 2017 2 commits
  10. 24 Jun, 2017 1 commit
    • Sijis Aviles's avatar
      Allow admins to mute notifications (#868) · 36905aa2
      Sijis Aviles authored
      * Add ability for admins to not receive admin notifications
      
      * refactor: Split logic of determining admins to notify
      
      * test: Include test for creating list of admins to notify
      
      * test: Fix linting message
      
      * refactor: Set option as BOT_ADMINS_NOTIFICATIONS
      
      If this option is set, notifications will only be sent to users
      specified. Otherwise, all users specified in BOT_ADMINS will be
      notified.
      
      * fix: Admin notification option name
      
      * tests: Update to better use config parameters
      
      * style: pep fixes
      
      * refactor: Set the default admin notifications earlier
      36905aa2
  11. 08 May, 2017 1 commit
    • Guillaume Binet's avatar
      Plugin names from .plug instead of python classes. (#1001) · 3a4f8611
      Guillaume Binet authored
      * Uses plugin name instead of class name in !help
      
      It is recorded beside the doc at cls.__errname__ so it can be reused.
      
      * linting
      
      * propagate the change
      
      Also added a property "name" on the plugin objects as a new API.
      
      * linting
      
      * test + few corrections.
      
      * Adapted the tests.
      
      * Fixed the naming of the flows too.
      
      * fix for help
      
      * linting
      3a4f8611
  12. 20 Apr, 2017 1 commit
    • Guillaume Binet's avatar
      utils.py cleanup. (#991) · f1408654
      Guillaume Binet authored
      * utils.py cleanup.
      
      I just applied a couple principles:
      
      - This should not be an API of Errbot
      - If not used in Errbot, it is removed
      - If is it used only once in Errbot, it is moved to the spot where it is
      used
      - If it is used a couple times in Errbot and doesn't have a natural spot
      within the source tree, it stays.
      
      * linting
      f1408654
  13. 08 Apr, 2017 1 commit
  14. 17 Mar, 2017 1 commit
  15. 12 Mar, 2017 1 commit
  16. 06 Feb, 2017 1 commit
    • tamarin's avatar
      Adding a callback allow plugins to catch unhandled messages (#931) · 4e9c689f
      tamarin authored
      * Adding a callback_command_not_found to allow plugins to "catch" any commands that were not processed.  The goal is to allow a plugin to receive any message not already processed so that it may implement additional pattern matching or other functionality to process the message.
      
      * Adding tests for command_not_found callback
      
      * Rough draft for command_not_found core plugin
      
      * Moving command-not-found functionality to core plugin
      
      * Code style fixup
      
      * Removing old rough draft using command_not_found callback
      
      * Removing duplicate .replace for prefix test in cnf_plugin
      
      * Updating plugin interface to use self.bot_config instead of _bot.
      Updating command prefix check to use string instead of only character.
      
      * Updating to use decorator parameter
      
      * Refactoring catch_unprocessed flag set to more graceful .get
      4e9c689f
  17. 19 Nov, 2016 1 commit
  18. 05 Sep, 2016 1 commit
  19. 23 Aug, 2016 1 commit
  20. 10 Aug, 2016 1 commit
  21. 21 Jun, 2016 1 commit
  22. 08 Jun, 2016 1 commit
  23. 07 Jun, 2016 2 commits
  24. 06 Jun, 2016 2 commits
  25. 05 Jun, 2016 1 commit
  26. 04 Jun, 2016 1 commit
    • Guillaume Binet's avatar
      Added an errbot --init and simplified config. · 387c510f
      Guillaume Binet authored
      Now all it takes to have an errbot up and running in Text mode is:
      
      1. mkvirtualenv errbot
      2. pip install errbot
      3. mkdir errbotdir; cd errbotdir
      4. errbot --init
      5. errbot
      
      And you have a ready to use development environment with an example
      plugin to get you started.
      387c510f
  27. 12 May, 2016 2 commits
  28. 29 Apr, 2016 1 commit
  29. 28 Apr, 2016 1 commit
  30. 25 Apr, 2016 1 commit
  31. 22 Apr, 2016 1 commit
  32. 01 Apr, 2016 1 commit
    • Guillaume Binet's avatar
      Adds a flow_only cmd parameter. · fe81b15a
      Guillaume Binet authored
      It does 2 things:
      - blocks the execution outside of a flow for a flow_only command.
      - removes it from help if the user doesn't put hidden=False explicitely.
      fe81b15a
  33. 31 Mar, 2016 1 commit
    • Guillaume Binet's avatar
      Flow/Conversation implementation · 4bfcbd07
      Guillaume Binet authored
      This defines a new type of plugin called "BotFlow" which represent a
      graph of commands to be executed in sequence either manually,
      automatically or a mix of both.
      
      This enables not only a way to converse with the bot towards a goal but
      also to skip part of the conversation (automate the flow) if the trigger
      of the conversation or an intermediate step provides extra context.
      
      The graph can include botcmd, arg_botcmd and re_botcmd and can mix them.
      
      Squashed commit of the following:
      
      commit 8096ed6103ac33b3e4dfd4c6af939672a1e7de79
      Author: Guillaume Binet <gbin@google.com>
      Date:   Wed Mar 30 14:32:59 2016 -0700
      
          annotations/remarks.
      
      commit c0ce872262105d207c53302b522c64cb1bdc1be2
      Author: Guillaume Binet <gbin@google.com>
      Date:   Wed Mar 30 10:50:42 2016 -0700
      
          typos.
      
      commit 242c102822b8542520ae996b00d33b96d8f30e21
      Author: Guillaume Binet <gbin@google.com>
      Date:   Wed Mar 30 09:52:39 2016 -0700
      
          comment on CommandError.
      
      commit 58ebee104ed4847f9935bb62bee55c0515dabaa6
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 29 16:09:06 2016 -0700
      
          unit tests and e2e tests for flows.
      
      commit d0faf5769441c489fa3a85b3ce501a6f06b9fa81
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 29 10:35:42 2016 -0700
      
          makes py2.7 encoding happy.
      
      commit f6f505387df37cc62a6a0e18ac68dadfa6683438
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 29 10:29:29 2016 -0700
      
          Added doc to the flows.
      
      commit aeb31a0fc71c996cdefbc32040b5a1b04f6cb50d
      Author: Guillaume Binet <gbin@google.com>
      Date:   Mon Mar 28 16:21:32 2016 -0700
      
          added better formatting with syntax.
      
      commit cba01d1332a5632b0c010c6c407ad2e6f937642c
      Author: Guillaume Binet <gbin@google.com>
      Date:   Mon Mar 28 15:01:17 2016 -0700
      
          triggered flows work, resume etc..
      
      commit 13bb06fbf35e8e389696299412a602607cf3e4f3
      Author: Guillaume Binet <gbin@google.com>
      Date:   Fri Mar 25 14:53:22 2016 -0700
      
          possible next steps to resume a flow.
      
      commit 40c13d6801d18edd96852946bff3c2123be71e09
      Author: Guillaume Binet <gbin@google.com>
      Date:   Fri Mar 25 14:38:18 2016 -0700
      
          implemented the auto-triggers.
      
      commit adc042a42e82ab73e879ad52c7555c98aecb0977
      Author: Guillaume Binet <gbin@google.com>
      Date:   Fri Mar 25 11:07:37 2016 -0700
      
          merge the flow & context with Message.
      
          It was complicating too much the API to have it externally.
      
      commit d3e296fd17f24d644fb54c38158cb5e3a2de4f9a
      Author: Guillaume Binet <gbin@google.com>
      Date:   Fri Mar 25 10:08:25 2016 -0700
      
          renames to make the API cleaner.
      
      commit bbf28f65d088bad44c6b4e9e2cc2471ecc1a6f12
      Author: Guillaume Binet <gbin@google.com>
      Date:   Thu Mar 24 10:40:51 2016 -0700
      
          make a flow run more than one step
      
      commit c85afb52e1456f8c9a52945bb2e6faba313c7288
      Author: Guillaume Binet <gbin@google.com>
      Date:   Thu Mar 24 08:47:13 2016 -0700
      
          Exposes CommandError
      
      commit c4a22d4bc60d1e36b8a9ae3dd2ee927861c13b5d
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 22 16:33:29 2016 -0700
      
          Introduced CommandError exception.
      
      commit 2e0d036369e1b763bc99b62c9898db381327ad9f
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 22 15:56:58 2016 -0700
      
          autoexecution starts to work.
      
      commit 1019f06a104c21797daf72e2e40f7124223658e6
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 22 11:29:59 2016 -0700
      
          basic flow query.
      
      commit febafe8ee9d7b23da475aa363b576f1966a95c2d
      Author: Guillaume Binet <gbin@google.com>
      Date:   Tue Mar 22 09:25:42 2016 -0700
      
          Now flows are registered.
      
      commit 6bb7bf93e0b18d904eafa8c95931259877b5c899
      Author: Guillaume Binet <gbin@google.com>
      Date:   Mon Mar 21 16:49:42 2016 -0700
      
          Fixed activation of the Flow plugin type.
      
      commit a7aefdee9568c44da5cc6dc2b3fe6f84ef63e894
      Author: Guillaume Binet <gbin@google.com>
      Date:   Mon Mar 21 15:51:03 2016 -0700
      
          Refinements to uniformize the API with the plugis one.
      
      commit c05e528f76bc094223b78d0ea1d38e10c70204c6
      Author: Guillaume Binet <gbin@google.com>
      Date:   Fri Mar 18 16:10:36 2016 -0700
      
          more definitions + loading.
      
      commit b39ecd8c366f14732755d41f7232e916eb4878f2
      Author: Guillaume Binet <gbin@gootz.net>
      Date:   Fri Mar 18 16:09:34 2016 -0400
      
          WIP flow interfaces
      4bfcbd07
  34. 13 Mar, 2016 1 commit