= Setting up a Mastodon account in BitlBee = There is a [[https://src.alexschroeder.ch/bitlbee-mastodon.git|Mastodon plugin]] for !BitlBee. The internal help system is probably more up to date than this wiki page. {{{#!irc 08:51 help mastodon }}} == Connecting == In this section, we'll sign in as `@kensanata@mastodon.weaponvsac.space`. 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: {{{#!irc 14:43 account add mastodon @kensanata 14:43 Account successfully added with tag mastodon2 14:43 account mastodon2 set base_url https://mastodon.weaponvsac.space 14:43 base_url = `https://mastodon.weaponvsac.space' 14:44 account mastodon2 on 14:44 mastodon2 - Logging in: Login 14:44 mastodon2 - Logging in: Parsing application registration response 14:44 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: {{{#!irc 14:44 Open this URL in your browser to authenticate: https://....... 14:44 Respond to this message with the returned authorization token. 14:44 **************************************************************** }}} Once you do that, your login should complete in the `&bitlbee` channel: {{{#!irc 14:44 mastodon2 - Logging in: Requesting OAuth access token 14:44 mastodon2 - Logging in: Connecting 14:44 *** mastodonweaponvsacspace_ JOIN 14:44 *** MODE +v mastodonweaponvsacspace_ 14:44 mastodon2 - Logging in: Verifying credentials 14:44 mastodon2 - Logging in: Getting home timeline 14:44 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. {{{#!irc 14:58 save 14:58 Configuration saved }}} == Reading == 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. == Posting == 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 ` 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. == Direct Messaging == There are two ways to DM someone. 1. If you are following them, then there exists a handle for them in your IRC client and you can simply `/msg ` 1. 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. == Context == Use `context ` 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 ` to show the most recent messages by a nick. == Replying == 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 ` command. If you set the `commands` setting to `strict`, using the `reply` command is mandatory. == Deleting Posts == Use `del ` to delete a status or your last status. Synonyms: `delete`, `undo`. == Favouriting == Use `fav ` to favour a status or the last status by a nick. Synonyms: `favourite`, `favorite`, `like`. See [[https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md#boosts-and-favourites|favorites]] in the Mastodon User Guide. Use `unfav ` to unfavour a status or the last status by a nick. Synonyms: `unfavourite`, `unfavorite`, `unlike`, `dislike`. == Following, Blocking, Muting == Use `follow ` to follow somebody. See [[https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md#following-other-users|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 ` to unfollow a nick. Synonyms: `allow`. Use `block ` to block a nick on the server. See [[https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md#blocking|blocking]] in the Mastodon User Guide. This is independent of your IRC client's `/ignore` command, if available. Use `unblock ` to unblock a nick. Use `mute user ` to mute a nick on the server. See [[https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md#muting|muting]] in the Mastodon User Guide. Use `unmute user ` to unmute a nick. Use `mute ` 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 [[https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#mutingunmuting-a-conversation-of-a-status|status muting]] in the Mastodon API. Use `unmute ` to unmute the conversation based on a status or the last status by a nick. == Boosting == Use `boost ` to boost a status or the last status by a nick. See [[https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md#boosts-and-favourites|boosting]] in the Mastodon User Guide. Use `unboost ` to unboost a status or the last status by a nick. == More Information == Use `url ` 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 [[https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#instance|Instance]] in the Mastodon API. Use `info user ` to get debug information about an account. See [[https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#account|Account]] in the Mastodon API. Use `info relation ` to get debug information about the relation to an account. See [[https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#relationship|Relationship]] in the Mastodon API. Use `info ` to get debug information about a status or the last status by a nick. See [[https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#status|Status]] in the Mastodon API. == Search == Mastodon allows you to search for three kinds of things: * the URL of a status * users * hashtags Use `search ` to get debug information about the things found by a search. == Spam == Use `report ` 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 ` shows you information about the nick in the instance channel * `block ` blocks nick * `allow ` 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''.