Code Monkey home page Code Monkey logo

conference-bot's Introduction

conference-bot

The conductor for your orchestra^Wconference

Development

  1. yarn install
  2. Copy config/default.yaml to config/development.yaml and edit accordingly.
  3. yarn start:dev

The project is a TypeScript bot based off the concepts of Mjolnir, using matrix-bot-sdk as a base.

Production (Docker)

TODO:

  • Information for what the bot does

This bot is best deployed with Docker. Note that the steps required to get the bot into production are complicated.

  1. First, register a user on your homeserver for the bot to use. In Synapse, this would be register_new_matrix_user.
  2. Set up any profile data for that user (displayname and avatar).
  3. On your homeserver, prepare and install an appservice registration like so:
     id: conference_bot # Can be any helpful identifier
     hs_token: CHANGE_ME # hs_token and as_token must be unique and secret
     as_token: CHANGE_ME
     namespaces:
       users:
         - exclusive: true
           regex: '@yourbot:example.org'  # Set this to your bot's user ID.
       aliases:
         - exclusive: false
           regex: '#.*:example.org'  # Change the domain to match your server.
       rooms: []
     url: null  # Important! The bot doesn't receive transactions, so set this explicitly to null.
     sender_localpart: not_confbot  # Use something other than your bot's localpart.
     rate_limited: false  # Important! The bot is noisy.
  4. Create /etc/conference-bot or wherever you are comfortable with mapping a volume for the bot.
  5. Copy config/default.yaml from this repo to /etc/conference-bot/config/production.yaml and edit accordingly.
  6. Run the container with Docker. For example: docker run -d --rm --name conference-bot -v /etc/conference-bot:/data -p 8080:8080 matrixdotorg/conference-bot
  7. Reverse proxy port 8080 as appropriate, using SSL if needed.

Usage

TODO:

  • Some sort of !import <url> command (widget?)
  • Some sort of !run <event code> command (widget?)
  • Interactions with Mjolnir
  • Expectations that livestreams are handled external to the bot

Room kinds

The conference bot uses the following terminology for defining what purpose a Matrix room serves:

  • Auditorium - A place where talks are held with a static livestream for the whole event. In a physical world, this would be the location where attendees go to see a talk.
  • Talk - A presentation. During the talk, the talk room will be closed to only the speakers and other relevant people (questions would be asked in the stage room). After the talk, the talk room is opened up and used for "hallway" conversations with the speakers.
  • Special Interest - These are rooms where subject matter is usually specific and the bot's concern with it is largely moderation and lightly scheduled events. These are most like stands at a physical conference, or places to hold larger discussions.

conference-bot's People

Contributors

turt2live avatar half-shot avatar squahtx avatar reivilibre avatar dbkr avatar h-shay avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.