from routeros_api import RouterOsApiPool, ApiError
def add_user_manager_voucher(api, profile, username, password):
try:
api.get_binary_resource('/').call('tool/user-manager/user/add', {
'customer': 'admin',
'username': username,
'password': password,
'copy-from': profile
})
print(f'Voucher added: {username}, {password}')
except ApiError as error:
print(f'Error adding voucher: {error}')
def main():
mikrotik_host = 'your_mikrotik_ip'
mikrotik_username = 'your_mikrotik_username'
mikrotik_password = 'your_mikrotik_password'
# Connect to the Mikrotik device
try:
api_pool = RouterOsApiPool(mikrotik_host, username=mikrotik_username, password=mikrotik_password)
except Exception as error:
print(f'Error connecting to Mikrotik: {error}')
return
# Add a voucher to the User Manager
with api_pool.get_api() as api:
add_user_manager_voucher(api, 'your_profile_name', 'new_username', 'new_password')
# Close the connection
api_pool.close()
if __name__ == '__main__':
main()