File tree Expand file tree Collapse file tree 4 files changed +38
-13
lines changed Expand file tree Collapse file tree 4 files changed +38
-13
lines changed Original file line number Diff line number Diff line change @@ -22,15 +22,34 @@ registerListeners(app);
2222( async ( ) => {
2323 try {
2424 await app . start ( process . env . PORT || 3000 ) ;
25+ const appUserId = ( await app . client . auth . test ( ) ) . bot_id ;
26+ if ( appUserId === undefined ) throw new Error ( "Failed to get bot id!" ) ;
27+
2528 app . logger . info ( "⚡️ Bolt app is running! ⚡️" ) ;
26- setUpDailyGreeting ( ( msg ) =>
27- app . client . chat
28- . postMessage ( {
29- text : msg ,
30- channel : CMUEATS_CHANNEL_ID ,
31- } )
32- . catch ( app . logger . error )
33- ) ;
29+ app . logger . info ( `Bot user id: ${ appUserId } ` ) ;
30+ setUpDailyGreeting ( async ( msg ) => {
31+ // make sure latest message was not by mem-cho
32+ const latestMessage = (
33+ await app . client . conversations
34+ . history ( {
35+ limit : 1 ,
36+ channel : CMUEATS_CHANNEL_ID ,
37+ } )
38+ . catch ( app . logger . error )
39+ ) ?. messages ?. [ 0 ] ;
40+
41+ if ( latestMessage ?. bot_profile ?. id !== appUserId ) {
42+ app . logger . info ( "Sending morning greeting :3" ) ;
43+ app . client . chat
44+ . postMessage ( {
45+ text : msg ,
46+ channel : CMUEATS_CHANNEL_ID ,
47+ } )
48+ . catch ( app . logger . error ) ;
49+ } else {
50+ app . logger . info ( "Skipping morning greeting. Dead chat" ) ;
51+ }
52+ } ) ;
3453 setUpUptimeChecker ( ( msg ) =>
3554 app . client . chat
3655 . postMessage ( {
Original file line number Diff line number Diff line change @@ -38,7 +38,9 @@ export const setUpDailyGreeting = (
3838) => {
3939 const currentTime = DateTime . local ( { zone : "America/New_York" } ) ;
4040 const nextMorningTime =
41- currentTime . hour < greetingTime . hour
41+ currentTime . hour < greetingTime . hour ||
42+ ( currentTime . hour === greetingTime . hour &&
43+ currentTime . minute < greetingTime . minute )
4244 ? currentTime . set ( greetingTime )
4345 : currentTime . set ( greetingTime ) . plus ( { days : 1 } ) ;
4446 scheduleNextGreeting ( sendMessage , nextMorningTime ) ;
Original file line number Diff line number Diff line change @@ -4,7 +4,10 @@ import appHomeOpenedCallback from "./app-home-opened";
44const register = ( app : App ) => {
55 app . event ( "app_home_opened" , appHomeOpenedCallback ) ;
66 app . event ( "app_mention" , async ( { payload, say } ) => {
7- await say ( "hai! I'm here to let you know when cmueats goes down :3" ) ;
7+ await say ( {
8+ text : "hai! I'm here to let you know when cmueats goes down :3" ,
9+ thread_ts : payload . ts ,
10+ } ) ;
811 } ) ;
912} ;
1013
Original file line number Diff line number Diff line change @@ -40,11 +40,12 @@ class GabeSenpaiMessages {
4040
4141const register = ( app : App ) => {
4242 const gabeMessages = new GabeSenpaiMessages ( ) ;
43-
44- app . message ( "gabe-senpai" , async ( { say } ) => {
43+ app . message ( "gabe-senpai" , async ( { say, message } ) => {
4544 const nextMessage = gabeMessages . getNextMessage ( ) ;
4645 if ( nextMessage !== "" ) {
47- await say ( nextMessage ) ;
46+ await say ( { text : nextMessage , thread_ts : message . ts } ) . catch (
47+ console . error
48+ ) ;
4849 }
4950 } ) ;
5051} ;
You can’t perform that action at this time.
0 commit comments