[nodebb-plugin-shoutbox] Shoutbox plugin


  • Plugin & Theme Dev

    General

    This is a Shoutbox plugin for NodeBB! It currently requires and supports NodeBB v1.x.x

    Current version:
    0.3.3

    Some screenshots to convince you:
    I'm still getting away with this
    Settings yo

    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-shoutbox

    Do you like my plugins? Contact me if you want to buy me a beer.


  • Plugin & Theme Dev

    Good job on this! :D


  • Admin

    Awesome! (Also, wow, lots of favourites)...


  • Admin

    Haha @julian jealous :p I'm gonna go fav his plugins now


  • Plugin & Theme Dev

    Sweet ! I was about to request/write that !



  • This was one of the first things we wanted to do with NodeBB. @mr_waffle produced it pretty quickly.
    Great work!


  • Plugin & Theme Dev

    Thanks guys, I'll keep expanding this over time.


  • Admin

    @Mr_Waffle said:

    Thanks guys, I'll keep expanding this over time.

    That's what I like to hear :D


  • Plugin & Theme Dev

    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.)


  • Plugin & Theme Dev

    Ye they changed the sockets around a bit on the latest version, will get around to making my plugin compatible asap.


  • Plugin & Theme Dev

    @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 :)


  • Plugin & Theme Dev

    Thanks for posting changelogs, that helps a lot. ^_^'


  • Admin

    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 :D


  • Plugin & Theme Dev

    @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 ;)


  • Admin

    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?


  • Admin

    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 for create_routes.


  • Admin

    we need to ditch the

    $(document).bind('DOMNodeInserted', function(event) {
    

    and replace that with an ajaxify.onchange event for 0.3.1

    Just a heads up, for the three people who are using that technique atm :p

    p.s. I have no idea how badly that performs but I would imagine it sucks.


  • Plugin & Theme Dev

    @psychobunny Yup, requested that in the hook request thread as well :)


Log in to reply
 

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.