bbbctl 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bbbctl-0.3.0/src/bbbctl.egg-info → bbbctl-0.3.1}/PKG-INFO +2 -2
- {bbbctl-0.3.0 → bbbctl-0.3.1}/setup.cfg +1 -1
- {bbbctl-0.3.0 → bbbctl-0.3.1/src/bbbctl.egg-info}/PKG-INFO +2 -2
- {bbbctl-0.3.0 → bbbctl-0.3.1}/src/bbbctl.py +20 -1
- {bbbctl-0.3.0 → bbbctl-0.3.1}/LICENSE +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/README.md +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/pyproject.toml +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/src/bbbctl.egg-info/SOURCES.txt +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/src/bbbctl.egg-info/dependency_links.txt +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/src/bbbctl.egg-info/entry_points.txt +0 -0
- {bbbctl-0.3.0 → bbbctl-0.3.1}/src/bbbctl.egg-info/top_level.txt +0 -0
|
@@ -28,7 +28,7 @@ class BBBApiClient:
|
|
|
28
28
|
self.ssl = ssl_context or ssl.create_default_context()
|
|
29
29
|
|
|
30
30
|
def makeurl(self, command, **query):
|
|
31
|
-
query = urllib.parse.urlencode(query)
|
|
31
|
+
query = urllib.parse.urlencode({k:v for k,v in query.items() if v is not None})
|
|
32
32
|
checksum = hashlib.sha1(
|
|
33
33
|
(command + query + self.secret).encode("utf8")
|
|
34
34
|
).hexdigest()
|
|
@@ -70,6 +70,9 @@ class BBBApiClient:
|
|
|
70
70
|
def deleteRecordings(self, recordID):
|
|
71
71
|
return self.call("deleteRecordings", recordID=recordID)
|
|
72
72
|
|
|
73
|
+
def sendChatMessage(self, meetingID, message, userName=None):
|
|
74
|
+
return self.call("sendChatMessage", meetingID=meetingID, message=message, userName=userName)
|
|
75
|
+
|
|
73
76
|
|
|
74
77
|
def build_parser():
|
|
75
78
|
|
|
@@ -164,6 +167,12 @@ def build_parser():
|
|
|
164
167
|
cmd.add_argument("id", help="Meeting ID")
|
|
165
168
|
cmd.set_defaults(cmd=cmd_meet_end)
|
|
166
169
|
|
|
170
|
+
cmd = meet_sub.add_parser("chat", help="Send a chat message into a running meeting (BBB 3.0)")
|
|
171
|
+
cmd.add_argument("id", help="Meeting ID. Can be 'BROADCAST' do broadcase a message to all running meetings")
|
|
172
|
+
cmd.add_argument("message", help="The message to send to chat")
|
|
173
|
+
cmd.add_argument("--name", help="The name that will be shown as the sender of the chat message", default="SYSTEM")
|
|
174
|
+
cmd.set_defaults(cmd=cmd_meet_chat)
|
|
175
|
+
|
|
167
176
|
cmd = meet_sub.add_parser("nuke", help="End ALL meeting")
|
|
168
177
|
cmd.add_argument("--doit", help="Disable dry-run mode and actually end meetings?", action="store_true")
|
|
169
178
|
cmd.add_argument("--ask", help="Ask for every meeting?", action="store_true")
|
|
@@ -400,6 +409,16 @@ def cmd_meet_end(api, args):
|
|
|
400
409
|
api.end(meetingID=args.id, password=pwd)
|
|
401
410
|
|
|
402
411
|
|
|
412
|
+
def cmd_meet_chat(api, args):
|
|
413
|
+
if args.id == "BROADCAST":
|
|
414
|
+
meetings = [m.find("meetingID").text for m in api.getMeetings()]
|
|
415
|
+
else:
|
|
416
|
+
meetings = [args.id]
|
|
417
|
+
|
|
418
|
+
for meeting in meetings:
|
|
419
|
+
api.sendChatMessage(meeting, args.message, userName=args.name)
|
|
420
|
+
|
|
421
|
+
|
|
403
422
|
def cmd_meet_nuke(api, args):
|
|
404
423
|
meetings = list(api.getMeetings())
|
|
405
424
|
for meeting in meetings:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|