BOT5 Meeting Assistant BOT powered by RSVP.ai & Wechaty & XState.
flowchart LR
Initializing --> Preparing
Preparing --> Talking
Talking --> Membershiping
Membershiping --> Chairshiping
Chairshiping --> Afterparty
Afterparty --> Minuting
graph LR
subgraph Initializing
Loading --> Restoring
end
journey
title Initializing
section Loading
Load state from storage: 3: Bot
section Restoring
Set context: 4: Bot
Set state: 5: Bot
section Saving
Save state to storage: 3: Bot
graph LR
subgraph Preparing
Calling --> Publicity
Publicity --> Registering
Registering --> Checkining
Checkining --> Starting
end
journey
title Preparing
section Calling
Call for chairs/talks: 3: Bot
Set chairs: 4: Admin
Set talks: 5: Chair
Set schedule: 4: Chair
section Publicity
Send post image twice per day: 3: Bot
section Registering
Register: 3: Member
Send register image: 4: Bot
section Checkining
8/4/2/1h: 3: Bot
20/10m: 3: Bot
Check in: 3: Member
Send checkin image: 4: Bot
section Starting
Start: 4: Bot
graph LR
subgraph Talking
Introducing --> Welcoming
Welcoming --> Retrospecting
Retrospecting --> Presenting
end
journey
title Talking
section Introducing
Introcude Club: 3: Bot
Introduce Talks: 4: Admin
section Welcoming
Welcome newcomers: 4: Chair
Self introduction: 3: Newcomer
section Retrospecting
Retrospect past seminar: 3: Chair
section Presenting
Present talks: 4: Speaker
graph LR
subgraph Membershiping
Thanking --> Upgrading
Upgrading --> Brainstorming
Brainstorming --> Photoing
end
journey
title Membershiping
section Thanking
Thank speakers: 3: Chair
Send certificate image: 4: Bot
section Upgrading
Newcomer upgrade: 3: Newcomer
Trail member upgrade: 3: Member
Member upgrade: 4: Member
Trail chair upgrade: 4: Chair
Chair upgrade: 5: Chair
section Brainstorming
Brainstorm: 3: Member
section Photoing
Photo: 4: Member
graph LR
subgraph Chairshiping
Rotating --> Summerizing
Summerizing --> Roasting
Roasting --> Pledging
Pledging --> Photoing
end
journey
title Chairshiping
section Rotating
Naming: 3: Member
Voting: 3: Member
Deciding: 4: Member
section Summerizing
Summerize: 3: Chair
section Roasting
Roast: 2: Member
section Pledging
Pledge: 3: Vice
section Photoing
Photo: 4: Member
graph LR
subgraph Afterparty
Housekeeping --> Drinking
Drinking --> Photoing
Photoing --> Paying
end
journey
title Afterparty
section Housekeeping
Housekeep: 3: Member
section Drinking
Drink: 5: Member
section Photoing
Photo: 5: Member
section Paying
Pay: 3: Member
graph LR
subgraph Minuting
Recording --> Uploading
Uploading --> Blogging
end
journey
title Minuting
section Downloading
Download video: 3: Bot
section Uploading
Upload video: 3: Bot
section Blogging
Post blog PR: 4: Bot
See also: BOT5 Club Chair Manual
npm install wechaty-bot5-assistant --save
$ vim mybot.js
import { WechatyBuilder } from 'wechaty'
import { Bot5Assistant } from 'wechaty-bot5-assistant'
const bot = WechatyBuilder.build()
bot.use(Bot5Assistant({
room: [
/^BOT5/,
]
}))
.on('scan', (url, code) => console.log(`Scan QR Code to login: ${code}\n${url}`))
.on('login', user => console.log(`User ${user} logged in`))
.start()
node mybot.js
const DEFAULT_CONFIG = {
// Which room(s) you want the bot to work with.
// Can be a RegExp (for topic) or a function (filter room instance)
// E.g. room: function (room) { room.topic().indexOf('我的') > -1 }
room: [/BOT5/i, 'room_id@chatroom'],
}
RSVP.ai is a machine-learning company that provides deep natural language understanding services for conversation-styled applications. It grew out of a collaboration between Tsinghua University and University of Waterloo.
RSVP.ai is a small and dedicated team making the smart machines today become the thinking machines tomorrow.
It's a finite state machine, which means it has a finite number of states.
Huan(202110): the above line is auto generated by GitHub Pilot.
We are trying to use XState to implement the FSM and using FSM to manage our meeting state transitions.
Currently we are just getting started, you can learn more about the BOT5 Club Meeting FSM at https://wechaty.github.io/bot5-assistant/
- Dialog Management for Credit Card Selling via Finite State Machine Using Sentiment Classification in Turkish Language, Gizem Sogancıo ˘ glu et. al., INTELLI 2017 : The Sixth International Conference on Intelligent Systems and Applications (includes InManEnt)
- State Machine Based Human-Bot Conversation Model and Services, Shayan Zamanirad et. al., May 9, 2020, CAiSE 2020
- Tartan: A retrieval-based socialbot powered by a dynamic finite-state machine architecture, George Larionov, 4 Dec 2018
- A Chatbot by Combining Finite State Machine , Information Retrieval , and Bot-Initiative Strategy, Sanghyun Yi, Published 2017
- add
stt()
for convert speech to text
- Code init in Bot Friday Club meeting
- Code clean for integrating with Friday BOT
- Add XState FSM support
- @caq, Anqi CUI, Co-founder & Chief AI Officer of RSVP.ai
- @huan, Huan LI, Founding chairman of BOT5 Club, author of Wechaty
- Code & Docs © 2021-now Wechaty Contributors
- Code released under the Apache-2.0 License
- Docs released under Creative Commons