def create_ability(login: Roll20Login, character_id: str, ability_name: str, ability_action: str,
is_token_action: bool = True) -> None:
new_ability = {'action': ability_action,
'name': ability_name,
'istokenaction': is_token_action}
url = (f'{login.firebase_root}{login.campaign_path}/'
f'char-abils/char/{character_id}.json?auth={login.auth_token}')
response = requests.post(url, data=json.dumps(new_ability))
if response.status_code == requests.status_codes.codes.UNAUTHORIZED:
raise Roll20PermissionError('Permission denied trying to create ability.')
else:
new_ability_id = json.loads(response.text)['name']
logger.debug(f'Created {ability_name} {new_ability_id}')
url = (f'{login.firebase_root}{login.campaign_path}/char-abils/char/'
f'{character_id}/{new_ability_id}/.json?auth={login.auth_token}')
requests.patch(url, data=json.dumps({'id': new_ability_id}))
评论列表
文章目录