5
5
from slack_sdk .errors import SlackApiError
6
6
from slack_sdk .web .async_client import AsyncWebClient
7
7
8
- from api .google_api import GoogleService
9
8
from blocks .meet import call_block , help_message_block
10
- from bot import app
9
+ from bot import app , google_service
11
10
from utils .dbworker import get_user_slack_token
12
11
from utils .slack_help import parse_args_command , get_user_tz , get_data_from_blocks , \
13
12
get_user_email , parse_date_and_time , user_not_bot , get_like_data_str , get_duration , parse_datetime , \
@@ -24,7 +23,6 @@ async def send_meet(body, client, respond, time_zone, args=None, users=None):
24
23
25
24
user_id = body .get ('user_id' ) or body .get ('user' , {}).get ('id' )
26
25
27
- google_service = GoogleService ()
28
26
if creds := await google_service .get_user_creds (user_id , client , respond ):
29
27
build = google_service .build_calendar (creds )
30
28
meet_url , * _ = google_service .create_event (
@@ -102,37 +100,27 @@ async def init_call_command(ack, body, respond, client: AsyncWebClient):
102
100
time_zone = time_zone
103
101
)
104
102
105
- kwargs_view = {}
106
- user_ids = []
103
+ kwargs_view = dict (
104
+ users = False ,
105
+ channel = True
106
+ )
107
+
107
108
if body ['channel_name' ] == 'directmessage' :
108
109
if users := await get_users_for_dm (
109
110
client = client ,
110
111
channel_id = body ['channel_id' ],
111
112
user_id = user_id
112
113
):
113
114
for user in users :
114
- if await user_not_bot (client , user ):
115
- user_ids .append (user )
116
- if args .get ("users" ):
117
- args ['users' ] += [
118
- {'email' : await get_user_email (client , user )}
119
- ]
120
-
121
- else :
122
- args ['users' ] = [
123
- {'email' : await get_user_email (client , user )}
124
- ]
125
-
126
- if user_ids :
115
+ args ['users' ] = []
127
116
kwargs_view = dict (
128
- init_user = user_ids [ 0 ]
117
+ init_user = [ ]
129
118
)
130
-
131
- else :
132
- kwargs_view = dict (
133
- users = False ,
134
- channel = True
135
- )
119
+ if await user_not_bot (client , user ):
120
+ kwargs_view ['init_user' ].append (user )
121
+ args ['users' ].append (
122
+ {'email' : await get_user_email (client , user )}
123
+ )
136
124
137
125
if text .startswith ('help' ):
138
126
await respond (
@@ -146,15 +134,14 @@ async def init_call_command(ack, body, respond, client: AsyncWebClient):
146
134
respond = respond ,
147
135
time_zone = time_zone ,
148
136
args = args ,
149
- users = user_ids
137
+ users = kwargs_view . get ( 'init_user' )
150
138
):
151
139
await respond (
152
140
blocks = block ,
153
141
response_type = 'in_channel'
154
142
)
155
143
156
144
else :
157
- google_service = GoogleService ()
158
145
if await google_service .get_user_creds (user_id , client , respond ):
159
146
await client .views_open (
160
147
trigger_id = body ['trigger_id' ],
0 commit comments