روبوت دردشة Discourse

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

إعجاب واحد (1)

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?

إعجابَين (2)

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)

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.

إعجاب واحد (1)

I’ve updated the plugin.

Chat should now work as it did before:

إعجابَين (2)

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.

إعجاب واحد (1)

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

إعجابَين (2)

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)

إعجاب واحد (1)

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

إعجابَين (2)

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?

إعجابَين (2)

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?

إعجاب واحد (1)

That should be fixed now:

Please update and confirm.

إعجاب واحد (1)

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: ↩︎

إعجابَين (2)

yes, it works now, thanks

إعجابَين (2)

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)

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)

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)