The conductor for your orchestra^Wconference
yarn install
config/default.yaml
to config/development.yaml
and edit accordingly.yarn start:dev
The project is a TypeScript bot based off the concepts of Mjolnir, using matrix-bot-sdk as a base.
TODO:
This bot is best deployed with Docker. Note that the steps required to get the bot into production are complicated.
register_new_matrix_user
.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.
/etc/conference-bot
or wherever you are comfortable with mapping a volume for the bot.config/default.yaml
from this repo to /etc/conference-bot/config/production.yaml
and edit
accordingly.docker run -d --rm --name conference-bot -v /etc/conference-bot:/data -p 8080:8080 matrixdotorg/conference-bot
8080
as appropriate, using SSL if needed.TODO:
!import <url>
command (widget?)!run <event code>
command (widget?)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.