contrib_bots: Expose some information about user profile
- Expose some information about user profile in `RestrictedClient` class, like `full_name` and `email` of the user. - Add `client` argument to `triage_message()`, now it's possible to call bot with another method instead of calling the specified keyword.
This commit is contained in:
parent
6df2450b60
commit
8d35f25fd6
10 changed files with 20 additions and 11 deletions
|
@ -18,7 +18,15 @@ from zulip import Client
|
|||
class RestrictedClient(object):
|
||||
def __init__(self, client):
|
||||
# Only expose a subset of our Client's functionality
|
||||
user_profile = client.get_profile()
|
||||
self.send_message = client.send_message
|
||||
try:
|
||||
self.full_name = user_profile['full_name']
|
||||
self.email = user_profile['email']
|
||||
except KeyError:
|
||||
logging.error('Cannot fetch user profile, make sure you have set'
|
||||
' up the zuliprc file correctly.')
|
||||
sys.exit(1)
|
||||
|
||||
def get_lib_module(lib_fn):
|
||||
lib_fn = os.path.abspath(lib_fn)
|
||||
|
@ -60,7 +68,8 @@ def run_message_handler_for_bot(lib_module, quiet, config_file):
|
|||
|
||||
def handle_message(message):
|
||||
logging.info('waiting for next message')
|
||||
if message_handler.triage_message(message=message):
|
||||
if message_handler.triage_message(message=message,
|
||||
client=restricted_client):
|
||||
message_handler.handle_message(
|
||||
message=message,
|
||||
client=restricted_client,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue