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
1. Preparing
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
2. Talking
graph LR
subgraph Talking
Introducing --> Welcoming
Welcoming --> Retrospecting
Retrospecting --> Presenting
end
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
4. Chairshiping
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
5. Afterparty
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
6. Minuting
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
$ 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()
Step 3: Run
node mybot.js
Options
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
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.
Finate State Machine (FSM)
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.
BOT5 Club Assistant Bot Plugin
BOT5 Meeting Assistant BOT powered by RSVP.ai & Wechaty & XState.
BOT5 Club Seminar Flow Chart
0. Initializing
graph LR subgraph Initializing Loading --> Restoring endjourney 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: Bot1. Preparing
graph LR subgraph Preparing Calling --> Publicity Publicity --> Registering Registering --> Checkining Checkining --> Starting endjourney 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: Bot2. Talking
graph LR subgraph Talking Introducing --> Welcoming Welcoming --> Retrospecting Retrospecting --> Presenting endjourney 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: Speaker3. Membershiping
graph LR subgraph Membershiping Thanking --> Upgrading Upgrading --> Brainstorming Brainstorming --> Photoing endjourney 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: Member4. Chairshiping
graph LR subgraph Chairshiping Rotating --> Summerizing Summerizing --> Roasting Roasting --> Pledging Pledging --> Photoing endjourney 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: Member5. Afterparty
graph LR subgraph Afterparty Housekeeping --> Drinking Drinking --> Photoing Photoing --> Paying endjourney title Afterparty section Housekeeping Housekeep: 3: Member section Drinking Drink: 5: Member section Photoing Photo: 5: Member section Paying Pay: 3: Member6. Minuting
graph LR subgraph Minuting Recording --> Uploading Uploading --> Blogging endjourney title Minuting section Downloading Download video: 3: Bot section Uploading Upload video: 3: Bot section Blogging Post blog PR: 4: BotSee also: BOT5 Club Chair Manual
Getting Started
Step 1: Install
Step 2: Make a bot
Step 3: Run
Options
RSVP.ai
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.
Finate State Machine (FSM)
It’s a finite state machine, which means it has a finite number of states.
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/
Resources
Projects
Papers
History
main v0.3 (Nov 29, 2021)
stt()for convert speech to textv0.2 (Oct 29, 2021)
Author
Reference
Silk to Text
Copyright & License