add an option to avoid creating fake mentions
This commit is contained in:
parent
99d1d13fbf
commit
02343668b8
3 changed files with 20 additions and 3 deletions
12
README.md
12
README.md
|
@ -11,6 +11,18 @@ This version makes quite a few changes from [the original](https://github.com/Je
|
|||
## Install/usage guide
|
||||
An installation and usage guide is available [here](https://cloud.lynnesbian.space/s/jozbRi69t4TpD95). It's primarily targeted at Linux, but it should be possible on BSD, macOS, etc. I've also put some effort into providing steps for Windows, but I can't make any guarantees as to its effectiveness.
|
||||
|
||||
## Configuration
|
||||
Configuring mstdn-ebooks is accomplished by editing `config.json`.
|
||||
|
||||
| Setting | Default | Meaning |
|
||||
|--------------------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| site | https://botsin.space | The instance your bot will log in to and post from. |
|
||||
| cw | null | The content warning (aka subject) mstdn-ebooks will apply to non-error posts. |
|
||||
| instance_blacklist | ["bofa.lol", "witches.town"] | If your bot is following someone from a blacklisted instance, it will skip over them and not download their posts. This is useful for ensuring that mstdn-ebooks doesn't download posts from dead instances, without you having to unfollow the user(s) from them. |
|
||||
| learn_from_cw | false | If true, mstdn-ebooks will learn from CW'd posts. |
|
||||
| mention_handling | 1 | 0: Never use mentions. 1: Only generate fake mentions in the middle of posts, never at the start. 2: Use mentions as normal (old behaviour). |
|
||||
|
||||
|
||||
## Original README
|
||||
hey look it's an ebooks bot
|
||||
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
"lang": "en",
|
||||
"site": "https://botsin.space",
|
||||
"cw": null,
|
||||
"learn_from_cw": false
|
||||
"learn_from_cw": false,
|
||||
"mention_handling": 1
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ def make_sentence(output):
|
|||
else:
|
||||
toots = c.execute("SELECT content FROM `toots` WHERE cw = 0 ORDER BY RANDOM() LIMIT 10000").fetchall()
|
||||
toots_str = ""
|
||||
for toot in toots:
|
||||
for toot in toots: # TODO: find a more efficient way to do this
|
||||
toots_str += "\n{}".format(toot[0])
|
||||
model = nlt_fixed(toots_str)
|
||||
toots_str = None
|
||||
|
@ -36,7 +36,11 @@ def make_sentence(output):
|
|||
sentence = model.make_short_sentence(500, tries=10000)
|
||||
tries = tries + 1
|
||||
|
||||
sentence = re.sub("^(?:@\u202B[^ ]* )*", "", sentence) #remove leading pings (don't say "@bob blah blah" but still say "blah @bob blah")
|
||||
# optionally remove mentions
|
||||
if cfg['mention_handling'] == 1:
|
||||
sentence = re.sub(r"^\S*@\u200B\S*\s?", "")
|
||||
elif cfg['mention_handling'] == 0:
|
||||
sentence = re.sub(r"\S*@\u200B\S*\s?", "")
|
||||
|
||||
output.send(sentence)
|
||||
|
||||
|
|
Loading…
Reference in a new issue