Setting up a Mastodon account in BitlBee

BitlBee has native support for Mastodon in the works. You can take a look at this fork with its TODO list.

Connecting

To use your Mastodon account. In your &bitlbee channel:

   1 14:43 <kensanata> account add mastodon @kensanata
   2 14:43 <root> Account successfully added with tag mastodon2
   3 14:43 <kensanata> account mastodon2 set base_url https://mastodon.weaponvsac.space/api/v1
   4 14:43 <root> base_url = `https://mastodon.weaponvsac.space/api/v1'

Sadly, you currently cannot set username and base URL in one go, and you need to specify the complete URL including API version.

   1 14:44 <kensanata> account mastodon2 on
   2 14:44 <root> mastodon2 - Logging in: Login
   3 14:44 <root> mastodon2 - Logging in: Registering client, please try again in a second
   4 14:44 <root> mastodon2 - Logging in: Parsing application registration response

This is unfortunate, so for now you need to abort your login and try again:

   1 14:44 <kensanata> account mastodon2 off
   2 14:44 <root> mastodon2 - Logging in: Signing off..
   3 14:44 <kensanata> account mastodon2 on
   4 14:44 <root> mastodon2 - Logging in: Login
   5 14:44 <root> mastodon2 - Logging in: Starting OAuth authentication
   6 14:44 <root> mastodon2 - Logging in: Requesting OAuth access token

At this point, you'll get contacted by the user mastodon_oauth with a big URL that you need to visit using a browser. Authenticate the client and you'll get back a another very long string. Copy and paste this string:

   1 <mastodon_oauth> Open this URL in your browser to authenticate:
   2  https://mastodon.weaponvsac.space/oauth/authorize?scope=read%20write%20follow&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&client_id=*************
   3 14:44 <mastodon_oauth> Respond to this message with the returned authorization token.
   4 14:44 <kensanata> ****************************************************************

Once you do that, your login should complete in the &bitlbee channel:

   1 14:44 <root> mastodon2 - Logging in: Connecting
   2 14:44 *** mastodonweaponvsacspace_ JOIN
   3 14:44 *** MODE +v mastodonweaponvsacspace_
   4 14:44 <root> mastodon2 - Logging in: Verifying credentials
   5 14:44 <root> mastodon2 - Logging in: Getting home timeline
   6 14:44 <root> mastodon2 - Logging in: Logged in

You should now have a channel called #mastodon.weaponsvs.space@localhost where all the status updates and notifications get shown.

Mastodon gives BitlBee a permanent authentication token, which will be saved in your configuration.

You should probably save this configuration.

   1 14:58 <kensanata> save
   2 14:58 <root> Configuration saved

Everything else remains unimplemented.

Working on that. :)