Skip to content

NodeBB Plugins

Discussion regarding NodeBB Plugin development.

1.8k Topics 15.0k Posts
Most Voted Plugins

Subcategories


  • Have a question about building a plugin? Ask here
    426 Topics
    2k Posts
    starkorebaS

    Hello, first of' thanks for the amazing work !
    For the context: I'm a junior developer from France, so excuse my english (and my limited understanding of everything lol). I was looking for a software alternative to build a forum RPG. I just installed NodeBB on Ubuntu 20 (Focal) working on WSL 2. I'm using redis and want to write plugin using typescript.

    It would be great to have a guide version of the Quickstart plugin in typescript !
    I know its possible to write plugin in typescript, the emoji plugin does that. But it would save me so much time to have a guide that explain the extra step we need to do in order of compiler and make it work on NodeBB.

    Here's my questions tho:

    Is it in the roadmap team of NodeBB to document how to write plugin in typescript? Did the team plan to write a typescript version of NodeBB?

    Although it would be great to have some more advanced example right in the documentation on how to do something and what are the step to make it work.
    Like here : https://community.nodebb.org/topic/16994/how-do-i-add-custom-user-fields-to-my-theme

    Like "if I want to add/ change something, I have to think of the scope of this features and what's need to be modify in other file to be working properly". Or at least, say it in the documentation a little bit more straightforward. So that beginner will understand that first sight. But I think examples are more worthy than tons of words.

    Is it possible for beginner to contribute on the documentation to make it more specific and understandable for beginners, or is it a documentation for more experienced developers and a choice of the team (and don't want to change that)?

    Is it because from a plugin to another, things might be working so differently that it's not worthy to do a more detailed documentation ?

    Because people might be wanted to write plugin over time, mutualisation of knowledge would be great, so that might simplified the process of each developer trying to write plugin have to go throw investigations to understand how NodeBB works before even start to develop the actual plugin.

    For example: How to interact with the database explain in this answer: https://community.nodebb.org/topic/17657/best-way-to-store-plugin-data-in-database-in-context-of-compatibility/2?_=1714543873650 for me this should be in the documentation.

    In conclusion, I feel like in general people agree that it's difficult to start writting plugin without investigate and dive in the structure file of the source code. I'm willing to help on that make it easier to really understand how NodeBB works for developer. So that anyone not familiar with the source code can start almost immediately customization. :emo:

  • Need a plugin developed? Ask here!
    222 Topics
    1k Posts
    barisB

    Plugin doesn't show usernames if they set their status to offline AFAIK

  • Easter Extra-Long Weekend Plugin+Theme Weekend!

    12
    0 Votes
    12 Posts
    3k Views
    S

    Had a busy weekend, but I have a couple days off soon. Will get to working on it when the gf doesn't require that much attention 😛

    Apparently the videochat plugin is also in high demand, and I'm currently working on that.

  • nodebb-plugin-starwars

    4
    5 Votes
    4 Posts
    2k Views
    P

    ahaha this is awesome.

  • 4 Votes
    1 Posts
    1k Views
    julianJ

    ... because who doesn't love that old "uh-oh!" sound from ICQ?

    https://www.npmjs.org/package/nodebb-plugin-soundpack-vintage-im

    Vintage IM Soundpack for NodeBB

    Vintage Instance Messenger Sound Pack

    MSN ICQ Requirements NodeBB v0.4.2 or higher Installation npm install nodebb-plugin-soundpack-vintage-im Want more sounds?

    Let me know in the issues, or submit a pull request with the new sounds added to the ./sounds folder!

  • 11 Votes
    28 Posts
    12k Views
    P

    ah I see, okay re-opened

  • Facebook and Twitter SSO

    8
    0 Votes
    8 Posts
    3k Views
    julianJ

    Thanks @a_5mith/@planner, good to know you guys've got my back when I'm not online 😄

  • Hey all

    7
    0 Votes
    7 Posts
    3k Views
    D

    @Fayez-Abu-Helow Check chat message

  • is there any other ways to upload pictures?

    9
    0 Votes
    9 Posts
    6k Views
    sunqiS

    刚刚开始学习。。自己开发是做不来,我是想架一个高校论坛,但感觉现在论坛没有足够吸引人的能力:(。。。观望踌躇中

  • 0 Votes
    12 Posts
    5k Views
    G

    So I'm not sure why, but the URL is set to https://twitter.com/search?q=%40AggroTactics rather than https://twitter.com/search?q=AggroTactics. The first URL does a search with @AggroTactics rather than #AggroTactics. So I changed it on my local but it instead added the literal '@'... not sure where that is coming from. Not sure if that was intended... seems weird.

  • Plugin Help

    1
    0 Votes
    1 Posts
    1k Views
    T

    Hi NodeBB team,

    I'm learning JS by writing what seemed to me a simple plugin. Knowing nothing of this matter I'm struggling a little with this all dispached structure.

    I've succeed to make basic routes so far. I'm working now on the template of the admin page.

    I have added these

    <!-- IF emailerInstalled --> <!-- ELSE --> <!-- ENDIF emailerInstalled -->

    but doesn't seem to be recognized, always getting the false condition.

    Could someone point me the right direction?

    I wonder also if adding a "post" route is the right way to get the form back? I've seen this from imgur plugin.

    nodebb-plugin-admin-email

  • Problem with nodebb-plugin-static-page

    7
    0 Votes
    7 Posts
    2k Views
    L

    Perfect @psychobunny !!

    cheers

  • Problem with widget plugin

    12
    0 Votes
    12 Posts
    4k Views
    T

    @psychobunny It's a plugin for a Minecraft server website I am developing. (switching over from Enjin)

  • 0 Votes
    2 Posts
    1k Views
    F

    @sunqi

    There's a Vimeo plugin, a Youtube plugin, and a Daily Motion plugin.

  • 3 Votes
    3 Posts
    2k Views
    P

    ahaha awesome. yeah that thing can be addictive

  • 2 Votes
    6 Posts
    4k Views
    meetdilipM

    Good addition.

  • Plugin ideas wip meta topic

    15
    2 Votes
    15 Posts
    6k Views
    F

    @julian

    How about a plugin to prune unverified registrations after X number, or should this be Core?

  • [nodebb-script-irc] Embed IRC on your forum

    6
    1 Votes
    6 Posts
    3k Views
    P

    @Scuzz said:

    @psychobunny *Now we can watch Twitch Plays Pokemon on our forum!

    can we? 😄

  • Dynamic content

    3
    0 Votes
    3 Posts
    2k Views
    S

    @psychobunny nodebb-plugin-mousetrap is not in the NPM registery and I also noticed that nodebb-plugin-designer has mousetrap as keyword and description.

  • Communicating with the Database

    3
    0 Votes
    3 Posts
    3k Views
    barisB

    If you are going to store more than just simple key values, you should use hashes and sets.

    For example if you have an object in javascript that you want to save from your plugin you can do

    var myObj = { myField: 1, otherField: 'test' }; db.setObject('nodebb-plugin-test:test', myObj, function(err) { ));

    To retrieve that object later on

    db.getObject('nodebb-plugin-test:test', function(err, myObj) { console.log(myObj); });

    To retrieve just a single field use db.getObjectField('nodebb-plugin-test:test', 'otherField', callback); To set a single field db.setObjectField('nodebb-plugin-test:test', 'otherField', 5, callback);

    You can check out the rss plugin to see how this is done.

  • Plugin/Hooks not registered.

    4
    0 Votes
    4 Posts
    2k Views
    julianJ

    No problem @Siber! Thanks for using NodeBB 🙂

  • PLUGIN+THEME WEEKEND V4

    18
    0 Votes
    18 Posts
    5k Views
    julianJ

    Ahahahah, yeah looks like you're the clear winner. When does voting end? ⌚