@@ -10,19 +10,28 @@ const bot = new BootBot({
1010const {
1111 askForConsent,
1212 handleConsentDeny,
13- handleConsentAccept
13+ handleConsentAccept,
14+ offerBasicHelp
1415} = require ( "./conversations" ) ;
1516
17+ const {
18+ CONSENT_DENY ,
19+ CONSENT_ACCEPT ,
20+ COINBOT_RELAX ,
21+ COINBOT_FEEDBACK ,
22+ COINBOT_UPGRADE
23+ } = require ( "./constants" ) ;
24+
1625// mock dummy db, need to consider DB solution.
1726class Users {
18- get = ( ) => { } ;
19- set = ( ) => { } ;
27+ get ( ) { }
28+ set ( ) { }
2029}
2130
2231// will uncomment later and do in another branch
2332// class Events {
24- // store = event => {};
25- // fire = event => {
33+ // store( event) {};
34+ // fire( event) {
2635// this.store({
2736// ...event,
2837// timestamp: new Date.now(),
@@ -37,17 +46,21 @@ bot.on("message", async (payload, chat) => {
3746
3847 chat . say ( `Hello, ${ user . first_name } ! 🙂` ) ;
3948
40- const store = users . get ( sender . id ) ;
49+ const store = Users . get ( sender . id ) ;
4150
4251 if ( store ) {
4352 // Events.fire({
4453 // user: { user, id: sender.id },
4554 // category: "message",
4655 // event: "message from member",
4756 // });
48- // give them options for what a member can do
57+
58+ chat . say ( "Good to hear from you again. 😌" ) ;
59+ // offer basic help
60+ // check store id, if premium (paying), offer settings
61+ chat . conversation ( convo => offerBasicHelp ( convo ) ) ;
4962 } else {
50- //user has not registered, ask them to create a unique identifier
63+ // user has not registered, ask them to create a unique identifier
5164 chat . conversation ( convo => askForConsent ( convo ) ) ;
5265 }
5366} ) ;
@@ -62,16 +75,32 @@ bot.on("postback", async (payload, chat) => {
6275 // });
6376
6477 switch ( payload ) {
65- case " CONSENT_DENY" :
78+ case CONSENT_DENY :
6679 handleConsentDeny ( chat ) ;
6780 return ;
68- case " CONSENT_ACCEPT" :
81+ case CONSENT_ACCEPT :
6982 handleConsentAccept ( chat ) ;
7083 Users . set ( {
7184 user,
7285 id : payload . sender . id
7386 } ) ;
7487 return ;
88+ case COINBOT_UPGRADE :
89+ chat . say ( "Upgrade coming soon..." ) ;
90+ // payment conversation
91+ // set user as paying
92+ return ;
93+ case COINBOT_RELAX :
94+ chat . say ( "Relax coming soon..." ) ;
95+ // update user to not get notified
96+ // 1 hour, 1 day, 1 week, custom
97+ return ;
98+ case COINBOT_FEEDBACK :
99+ chat . say ( "Feedback coming soon..." ) ;
100+ // accept feedback message
101+ // offer a smiley face system
102+ // plus text
103+ return ;
75104 }
76105} ) ;
77106
0 commit comments