Discourse Chatbot šŸ¤–

Hi Robert, can I put this bot like a moderator? I try to do it but I donā€™t even have the option with the bot

That first error has nothing to do with Chat (ā€œPost Embeddingā€). This one is harmless and occurs when you delete a Post shortly after creation before the system has had chance to create an embedding. The delete event kicks off a job to delete the corresponding embedding, which in such cases is missing. You can ignore it.

Can you please share the backtrace of the second error please? (from the log tab).

To invoke the bot from Chat you must @ mention the bot or use the Quick Access feature enabled in the plugin settings. You must also ensure the bot is enabled for Chat (also plugin settings).

Note the bot does not currently support Chat Threads ā€¦ only works in top level Chat. Are you trying to access in a Thread?

1 Like

It is mostly a call and response bot (though it can be invoked automatically upon Topic creation in set Categories). It is not presently designed to act as a Moderator.

1 Like

Ah, Iā€™ve just updated (I was only 100 commits behind) and it looks like thereā€™s been a breaking change in core that affects Chat use. I will take a look.

In meantime you could switch Quick Launch to Personal Messages.

Iā€™ve updated the plugin.

Chat should now work as it did before:

1 Like

Iā€™ve also added support for Chat Threads

Now the Chatbotā€™s context is limited to the current Chat Thread and should only reply to the current Thread.

Let me know if you have any issues.

Forum Search was broken by the 1.3 release, that is now resolved.

1 Like

Still getting the same error updated as of 3 hours ago.

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `block in error'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `each'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `error'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:38:in `rescue in create'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:11:in `create'

/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:150:in `execute'

/var/www/discourse/app/jobs/base.rb:322:in `block (2 levels) in perform'

rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'

rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'

/var/www/discourse/app/jobs/base.rb:309:in `block in perform'

/var/www/discourse/app/jobs/base.rb:305:in `each'

/var/www/discourse/app/jobs/base.rb:305:in `perform'

sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'

sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'

sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'

sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'

sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'

sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'

sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'

sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'

sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

And youā€™ve completely rebuilt the site?

Upgrading the plugin should have been enough.

What version are you on? Both plugin and Discourse?

After releasing this fix and upgrading I cannot repro your issue (but definitely could beforehand)

After a full rebuild its working thank you for your time!

1 Like

The bot stopped responding after recent updates, giving these errors:

Chatbot: There was a problem, but will retry til limit: undefined local variable or method `resā€™ for an instance of DiscourseChatbot::OpenAiBotBasic

Job exception: undefined local variable or method `resā€™ for an instance of DiscourseChatbot::OpenAiBotBasic

Any idea what this is about?

1 Like

I think I might know what is going on. Iā€™ll take a look and revert.

Let me guess: there is no issue with the RAG bot?

That should be fixed now:

Please update and confirm.

1 Like

This is hilarious. Again a fix came alive about half an hour after I rebuilded mine :joy:

Thanks [1]


  1. for that fix, not timing :rofl: ā†©ļøŽ

1 Like

yes, it works now, thanks

1 Like

Thank you for this plugin! I have set it up, and everything seems to have gone well (all the settings are there, I have the api keys, openai credits, chatbot has been added as a user, made myself one of the high trust groups) but Iā€™m not getting any responses from the chatbox, privately or publicly. Iā€™m not sure what Iā€™m doing wrong or what info to share.

Also, the Talk to chatbot button doesnā€™t do anything when clicked. :thinking:

Spoke too soon. It was because I changed the botā€™s name. Now I just need to figure out why I have reached a quota after just a couple messages.

1 Like

Check which Chatbot trust level your user is in.

There are three ā€œtrust levelsā€ that are collections of Discourse Groups.

Usually as admin youā€™d aim to be in a group included in High.

I would start with the default strategy of tracking queries (chatbot_quota_basis). If you changed this to tokens you will need to increase the default quotas for all trust levels significantly as each query can cost thousands of tokens. The defaults are set to support queries.

Yes, Iā€™m in the high trust group. And I have the quota basis set to queries. The chatbot answered one question and then immediately stated: *


*

1 Like

Try running the reset quota job in sidekiq by pressing the associated trigger button:

After that ask the bot what your remaining quota is.

1 Like