{- This file is part of funbot. - - Written in 2015, 2016 by fr33domlover . - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - . -} {-# LANGUAGE OverloadedStrings #-} module FunBot.Settings.Help ( help ) where import Data.Settings.Types (OptRoute) import Data.Text (Text) help :: OptRoute -> Text help r = case r of [] -> "Top level of the settings tree." ["channels"] -> "Basic per-channel settings." ["channels", _] -> "Basic settings for the channel." ["channels", _, "log"] -> "Whether events in the channel are logged by the bot locally into a \ \log file. Currently nothing is done with these logs. In the future \ \they can be used to send people activity they missed (or selected \ \parts of it), generate public logs as web pages and record meetings." ["channels", _, "track"] -> "Whether user joins and parts in the channel \ \are tracked internally. This is useful for various other features, \ \such as memos (see !tell) and listing these events in channel logs. \ \Tracking isn't enabled by default, to save bot server hardware \ \resources (in particular RAM), especially for cases of many, crowded \ \or busy channels." ["channels", _, "count"] -> "Whether channel message logs are maintained (in memory) for this \ \channel. If yes, channel history reports (which you can get when you \ \join a channel) will also specify how many messages you missed. For \ \to work, you must also enable the 'track' option." ["channels", _, "say-titles"] -> "Whether I should detect URLs sent into this channel and send their \ \titles." ["channels", _, "welcome"] -> "Whether I should send a welcome message when a new nickname unknown \ \to me joins the channel, and the channel is quiet for some time." ["channels", _, "folks"] -> "List of main people (nicknames) in the channel. This is used in the \ \welcome messages, and possibly other places." ["channels", _, "email"] -> "Email address (possibly of a mailing list) for async discussions. If \ \you ask a question and nobody responds for a while, you can send \ \your question there. Also good for long, documented discussions and \ \generally the things email is better suited for than IRC." ["repos"] -> "Git repo event announcement details." ["repos", _] -> "Event announcement details for a Git repo, specified by its name and \ \its \"owner\", (a username or an organization name). The name and \ \owner match the ones used by the dev platform which hosts the repo. \ \Announcment details are given as a set of specifications, one for \ \each IRC channel where you want the events to be announced." ["repos", _, _] -> "A Git repo event announcement specification for a specific channel. \ \It specifies the channel and defines filters to determine which \ \events should be announced." ["repos", _, _, "branches"] -> "A list of zero or more git branch names to filter by. If the \ \\"accept\" option is True, this is whitelist of branches whose \ \commits to announce (and the rest won't be announced). Otherwise, \ \it's a blacklist of branches not to announce (and all the rest will \ \be announced). By default the list is empty, and you can reset it to \ \empty using !reset." ["repos", _, _, "channel"] -> "IRC channel into which to announce the repo events." ["repos", _, _, "all-commits"] -> "Whether to announce all commits into the channel, or shorten long \ \pushes to avoid filling the channel with very long announcements. \ \For example, if you push 20 commits at once, you may prefer to see \ \just a summary or a partial report, and not have the channel filled \ \with a very long sequence of messages. The default is False, i.e. do \ \shorten long announcements." ["repos", _, _, "accept"] -> "Whether the branch list specified by the \"branches\" option is a \ \whitelist of branches whose commits to announce (True), or a \ \blacklist of branches not to announce (False). By default it's \ \False, and the branch list is empty, which together mean \"reject no \ \branches\", or in other words announce commits of *all* branches." ["feeds"] -> "News feed item announcement details." ["feeds", _] -> "Details for announcing new feed items for this feed." ["feeds", _, "url"] -> "URL of the feed." ["feeds", _, "active"] -> "Whether the feed is being watched." ["feeds", _, "channels"] -> "List of IRC channels into which to announce new items from the feed." ["feeds", _, "show"] -> "Determines which information about the new feed items should be \ \specified in the announcements." ["feeds", _, "show", "author"] -> "Whether to specify the news item author when announcing the new item." ["feeds", _, "show", "feed-title"] -> "Whether to specify the feed title when announcing a new item." ["feeds", _, "show", "url"] -> "Whether to specify the item URL when announcing the new item." ["shortcuts"] -> "List of available shortcuts." ["shortcuts", _] -> "Details of this shortcut." ["shortcuts", _, "prefix"] -> "A string by which the shortcut is identified. For example, if you'd \ \like “TKT-258” to refer to ticket #258, set the prefix to “TKT-”." ["shortcuts", _, "before"] -> "In the full form into which the shortcut is expanded, this is the \ \beginning of the string. For example, “http://funbot.org/tickets/”." ["shortcuts", _, "after"] -> "In the full form into which the shortcut is expanded, this is the \ \end of the string. For example, “.html”." ["shortcuts", _, "channels"] -> "List of IRC channels in which this shortcut applies." _ -> "No help for this item."