Setting up a Mastodon account in BitlBee
There is a Mastodon plugin for BitlBee.
The internal help system is probably more up to date than this wiki page.
1 08:51 <kensanata> help mastodon
In this section, we'll sign in as @email@example.com. This section assumes an existing account on an instance! Replace username and Mastodon server when trying it.
In your &bitlbee channel – also known as the control channel – add a new account, change it's base_url to point at your instance, and switch it on:
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 4 14:43 <root> base_url = `https://mastodon.weaponvsac.space' 5 14:44 <kensanata> account mastodon2 on 6 14:44 <root> mastodon2 - Logging in: Login 7 14:44 <root> mastodon2 - Logging in: Parsing application registration response 8 14:44 <root> mastodon2 - Logging in: Starting OAuth authentication
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 another very long string. Copy and paste this string:
Once you do that, your login should complete in the &bitlbee channel:
1 14:44 <root> mastodon2 - Logging in: Requesting OAuth access token 2 14:44 <root> mastodon2 - Logging in: Connecting 3 14:44 *** mastodonweaponvsacspace_ JOIN 4 14:44 *** MODE +v mastodonweaponvsacspace_ 5 14:44 <root> mastodon2 - Logging in: Verifying credentials 6 14:44 <root> mastodon2 - Logging in: Getting home timeline 7 14:44 <root> mastodon2 - Logging in: Logged in
You should now have a channel called #mastodon.weaponsvsac.space@localhost where all the status updates and notifications get shown. We'll call this your account channel.
Mastodon gives BitlBee a permanent authentication token, which will be saved in your configuration.
You should probably save this configuration.
The default mode setting is chat. This means that each Mastodon account you add will result in a new channel in your IRC client.
Use help set mode in your Bitlbee control channel (&bitlbee) to read up on different modes.
The default commands setting is true. This means that anything you type is a Toot unless it looks like command, in which case it is handled as such. In addition to that, you can use the post <message> command. If you set the commands setting to strict, using the post command is mandatory.
Use help set commands in your Bitlbee control channel (&bitlbee) to read up on the various commands.
A well behaved Mastodon client will limit your Toots to 500 characters even though the underlying protocols allow for longer messages. By default, Bitlbee does the same. Use help set message_length in your Bitlbee control channel (&bitlbee) to read up on the hairy details. Basically, some aspects of of your message will count for less: URLs, domain names for mentioned user accounts and the like. See help set target_url_length for more information on how URLs are counted.
There are two ways to DM someone.
If you are following them, then there exists a handle for them in your IRC client and you can simply /msg <their nick>
To DM anyone regardless of whether you follow them, you can type visibility direct in the IRC window from which you intend to DM, and then write a post that mentions their long @nick@server identifier.
Use context <id|nick> to show some context for a status or the last status by a nick. This will display the ancestors and descendants of a status.
Use timeline <nick> to show the most recent messages by a nick.
If you use the default IRC conventions of starting a message with a nickname and a colon (:) or a comma (,), then your message will be treated as a reply to that nick's last message.
This only works if that nick's last message was sent within the last 3h. For more information about this time window use help set auto_reply_timeout in your Bitlbee control channel (&bitlbee).
You can also reply to an earlier message by referring to its id using the reply <id> <message> command. If you set the commands setting to strict, using the reply command is mandatory.
Use del <id> to delete a status or your last status. Synonyms: delete, undo.
Use fav <id|nick> to favour a status or the last status by a nick. Synonyms: favourite, favorite, like. See favorites in the Mastodon User Guide.
Use unfav <id|nick> to unfavour a status or the last status by a nick. Synonyms: unfavourite, unfavorite, unlike, dislike.
Following, Blocking, Muting
Use follow <nick|account> to follow somebody. See following in the Mastodon User Guide. This determines the nicks in your channel. Verify the list using /names.
Usually you'll be providing a local or remote account to follow. In the background, Bitlbee will run a search for the account you provided and follow the first match. Sometimes there will be nicks in the channel which you are not following, e.g. a nick is automatically added to the channel when a status of theirs mentioning you is shown.
Use unfollow <nick> to unfollow a nick. Synonyms: allow.
Use block <nick> to block a nick on the server. See blocking in the Mastodon User Guide. This is independent of your IRC client's /ignore command, if available.
Use unblock <nick> to unblock a nick.
Use mute user <nick> to mute a nick on the server. See muting in the Mastodon User Guide.
Use unmute user <nick> to unmute a nick.
Use mute <id|nick> to mute the conversation based on a status or the last status by a nick. Muting a status will prevent replies to it, favourites and replies of it from appearing. See status muting in the Mastodon API.
Use unmute <id|nick> to unmute the conversation based on a status or the last status by a nick.
Use boost <id|nick> to boost a status or the last status by a nick. See boosting in the Mastodon User Guide.
Use unboost <id|nick> to unboost a status or the last status by a nick.
Use url <id|nick> to get the URL to a status or the last status by a nick.
Use info instance to get debug information about your instance. See Instance in the Mastodon API.
Use info user <nick|account> to get debug information about an account. See Account in the Mastodon API.
Use info relation <nick|account> to get debug information about the relation to an account. See Relationship in the Mastodon API.
Use info <id|nick> to get debug information about a status or the last status by a nick. See Status in the Mastodon API.
Mastodon allows you to search for three kinds of things:
- the URL of a status
Use search <what> to get debug information about the things found by a search.
Use report <id|nick> <comment> to report a status or the last status by a nick. Synonyms: spam.
Note that the comment is mandatory. Explain why the status is being reported. The administrator of your instance will see this report and decide what to do about it, if anything.
In the Control Channel
As we said at the beginning, the default mode setting is chat. This means that each Mastodon account you add will result in a new channel in your IRC client. All the commands mentioned above are what you type in this "instance channel."
There are some standard root commands that only work in the control channel, &bitlbee.
info <account> <nick> shows you information about the nick in the instance channel
block <account> <nick> blocks nick
allow <account> <nick> unblocks nick
Following a Hashtag
This also happens from the control channel, &bitlbee.
Here's how to subscribe to #hashtag for the account mastodon. The chat add command takes the parameters account, hashtag, and channel name. In the example we're simply giving the channel the same name. You can name the channel whatever you want. The important part is that the channel topic must be the hashtag it is subscribing to.
chat add mastodon hashtag #hashtag channel #hashtag set auto_join true /join #hashtag
Don't forget to save your config.
Note that where as you can still issue commands in these hashtag channels, the output is going to appear in the original account channel.