[nodebb-plugin-shoutbox] Shoutbox plugin
-
General
This is a Shoutbox plugin for NodeBB! It currently requires and supports NodeBB v1.x.x
Current version:
0.3.3Some screenshots to convince you:
Features
- Real-time shouting! Aaaaaaaaahhh!
- Supports whatever text parsing plugin you have installed, so that's Markdown by default!
- Choose where you want to place the shoutbox! It works just like any other NodeBB widget.
- You can edit and delete your shouts! Beware of admins though, they can edit and delete anyone's shouts!
- Because our forum is a bit programmer oriented you can quickly create Gists!
Get a blast from the past! View all the old shouts with the archive!Currently broken.- Don't want that? Admins can clear the shout database!
- Settings! They even show up in your profile settings!
- Want to enable or disable the little notification sound? You can!
- Choose whether the title bar notifies you about new shouts!
- And more!
Installation
You can install this plugin with:
npm install nodebb-plugin-shoutbox
Other information
The source can be found here:
https://github.com/Schamper/nodebb-plugin-shoutboxDo you like my plugins? Contact me if you want to buy me a beer.
-
Good job on this!
-
Haha @julian jealous I'm gonna go fav his plugins now
-
Sweet ! I was about to request/write that !
-
Thanks guys, I'll keep expanding this over time.
-
Just updated with 0.0.2. It fixed a few bugs, and added a few new things.
- Fixed double registering of shoutbox.receive
- You can now delete shouts
- Add some checks on the socket handlers to prevent server crashes (this is also a NodeBB issue)
- Added simple config in admin page
- Fixed /shoutbox page
-
Is there anything to do apart from npm install?
I enabled the plugin, restarted NodeBB, cleared cache, but can't send messages.
Also if I start NodeBB in development mode I get a warning: warn: [socket.io] Unrecognized message: api:modules.shoutbox.get
(I'm using the edge version of NodeBB, freshly pulled.) -
Ye they changed the sockets around a bit on the latest version, will get around to making my plugin compatible asap.
-
@BarveyHirdman I updated it and pushed a new version to npm, should work fine now.
0.0.3 changelog:
- Fix shout deletion on newly created shouts
- Completely refactored client shoutbox.js, much easier for me to expand, and for other people to understand!
- Now compatible with their new socketAL implementation
-
@Mr_Waffle works like a charm
-
Thanks for posting changelogs, that helps a lot. ^_^'
-
lol wow, you know I was just asking the team earlier today on how to implement websockets in one of the plugins I was working on. Clearly you're one step ahead of me @Mr_Waffle
-
@psychobunny Yeah it took me a while to find a nice way without adding anything to the core code, but I think my method is pretty nice Would be even better if there was a
plugin
socket.io module, where all the plugins would hook into -
the way you did it is interesting. I was asking julian earlier to implement a hook in websockets so we could add new socket calls (similar to the one in webserver for routes). maybe we don't need it then... @julian thoughts?
-
I just wrote this and used the same method as @mr_waffle. This seems fine to me and it also makes me think if we could use the same system in our other plugins. For example getting the express
app
object and adding routes to it inside the plugin instead of putting a hook forcreate_routes
. -
we need to ditch the
$(document).bind('DOMNodeInserted', function(event) {
and replace that with an
ajaxify.onchange
event for 0.3.1Just a heads up, for the three people who are using that technique atm
p.s. I have no idea how badly that performs but I would imagine it sucks.
-
@psychobunny Yup, requested that in the hook request thread as well