Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Social IRC bots in the cloud

Social IRC bots in the cloud

Build social IRC bots in the cloud using Node.js and MongoDB.

Marek Jelen

April 09, 2013
Tweet

More Decks by Marek Jelen

Other Decks in Technology

Transcript

  1. 1 Social IRC bots in the cloud with Node.js and

    MongoDB Marek Jelen PaaS Evangelist, Red Hat MongoLondon, 2013
  2. 2 i. basic understanding what cloud is and what it

    is not ii. you are a developer and you know what Node.js iii. basic knowledge of MongoDB iv. questions are good! v. questions are awesome! vi. discussion is preferred to my monologue My expectations
  3. 3 What is IRC? • Communication protocol • Open (RFC1459)

    & Simple • Text based • Realtime-communication • Group chat & One-to-One chat • Users => #channels <= Bots • Clients, Bouncers, Bots
  4. 4 Basic IRC commands • /join #openshif • /msg mjelen

    This is awesome • /me is presenting in London • /topic Don't be afraid to ask questions.
  5. 5 Is it any good? • Basic communication channel of

    tech companies • Community building environment • Support channel for users • etc. etc. etc. • OpenSource servers & clients (standalone, web)
  6. 6 What is OpenShift? Red Hat's free, auto-scaling Platform as

    a Service (PaaS) for applications in the cloud.
  7. 7

  8. 8 Looks great, but what’s the catch? • OpenShif is

    free-as-in-beer & free-as-in-freedom • Three times 0.5GB RAM/1GB storage • Need more resources, just ask! • We are in Developer Preview • Sign up at openshift.com • Promo code: MongoDBLondon
  9. 9 Three flavours • OpenSource project => OpenShif Origin •

    Enterprise ready product => OpenShif Enterprise • Service by Red Hat => OpenShif Online
  10. 11 My bots on OpenShift (1) • Create new deployment

    environment • rhc app create ircbot nodejs • clones a git repository locally • setups node.js environment • allows you ssh access • provides logs tailing • sets public DNS records
  11. 12 My bots on OpenShift (2) • Enter the directory

    • cd ircbot • Install dependencies • npm install irc -s • Write the code
  12. 13 My bots on OpenShift (3) • Record changes (when

    needed) • git add package.json server.js • Commit the changes • git commit -m “My first commit” • And deploy • git push [origin [master]]
  13. 14 My bots on OpenShift (4) • Add MongoDB to

    the mix • rhc cartridge add mongodb-2.2 -a ircbot • Add RockMongo to inspect MongoDB • rhc cartridge add rockmongo-1.1 -a ircbot • Install dependencies • npm install -S mongojs • Write the code • Connect to MongoDB from application
  14. 15 My bots on OpenShift (5) • Record changes (when

    needed) • git add package.json server.js • Commit the changes • git commit -m “My first commit” • And deploy • git push (origin (master))
  15. 16 Conclusion • Three flavors of OpenShif • Origin, Enterprise,

    Online • Sign up for Online for free • Promo code: MongoLondon • IRC is fun • Open, Simple, Feature-full • Node.js makes it simple to write apps • MongoDB helps with data persistence