User.Token is the user’s GitHub access token.
drone.Client is a Drone’s API client and it requires Drone’s API token,
but User.Token is passed.
So it is failed to authenticate the user.
level=error msg="activation failed" error="client error 401: {\"message\":\"Unauthorized\"}\n"
So we should pass User.Hash to the drone.Client instead of User.Token.
I will send a pull request to fix the bug.
Thank you.