added logical NOT
This commit is contained in:
parent
c61c599f93
commit
6762a4a137
|
@ -18,7 +18,7 @@ Python modules: `requests, twisted`
|
||||||
`auth_msg` - The message to send to the `tracker_bot` to authenticate with and access the announce channel. It's up to you figure this out.
|
`auth_msg` - The message to send to the `tracker_bot` to authenticate with and access the announce channel. It's up to you figure this out.
|
||||||
`watch_dir` - The directory to save torrents to.
|
`watch_dir` - The directory to save torrents to.
|
||||||
`cookies_txt` - The path to where your session cookie(s) are stored. Should be in Netscape format.
|
`cookies_txt` - The path to where your session cookie(s) are stored. Should be in Netscape format.
|
||||||
`tags` - Comma-delineated list of tags to look for in each announce message. The script is just performing simple string comparisons on the entire message, so the 'tag' can be any substring appearing in the announce message. Tag inside of brackets are AND'd together, tag groups are then OR'd together. In the example below, announce messages with ['Manga' AND 'English' AND 'Archived'] OR 'Dual Language' OR 'Softsubs' will be matched.
|
`tags` - Comma-delineated list of tags to look for in each announce message. The script is just performing simple string comparisons on the entire message, so the 'tag' can be any substring appearing in the announce message. Tag inside of brackets are AND'd together, tag groups are then OR'd together. Tags starting with ! are treated as NOT [tag]. In the example below, announce messages with ['English' AND NOT 'Manga'] OR ['Manga' AND 'English' AND 'Archived'] OR 'Dual Language' OR 'Softsubs' will be matched.
|
||||||
|
|
||||||
### Example config.cfg
|
### Example config.cfg
|
||||||
```
|
```
|
||||||
|
@ -31,7 +31,7 @@ tracker_bot = Udon
|
||||||
auth_msg = BOT #oppaitime-announce iou1name SpaghettiIsAFaggot
|
auth_msg = BOT #oppaitime-announce iou1name SpaghettiIsAFaggot
|
||||||
watch_dir = /home/iou1name/torrent/oppaitime/Watch/
|
watch_dir = /home/iou1name/torrent/oppaitime/Watch/
|
||||||
cookies_txt = cookies.txt
|
cookies_txt = cookies.txt
|
||||||
tags = [Manga,English,Archived],[Dual Language],[Softsubs]
|
tags = [English,!Manga],[Manga,English,Archived],[Dual Language],[Softsubs]
|
||||||
|
|
||||||
[redacted]
|
[redacted]
|
||||||
server = irc.scratch-network.net
|
server = irc.scratch-network.net
|
||||||
|
@ -42,5 +42,5 @@ tracker_bot = Drone
|
||||||
auth_msg = enter #red-announce iou1name TheyllAlwaysBePTHToMe
|
auth_msg = enter #red-announce iou1name TheyllAlwaysBePTHToMe
|
||||||
watch_dir = /home/iou1name/torrent/passtheheadphones/Watch/
|
watch_dir = /home/iou1name/torrent/passtheheadphones/Watch/
|
||||||
cookies_txt = cookies.txt
|
cookies_txt = cookies.txt
|
||||||
tags = [rock],[metal]
|
tags = [rock]
|
||||||
```
|
```
|
||||||
|
|
10
oppaiBot.py
10
oppaiBot.py
|
@ -54,7 +54,15 @@ class OppaiBot(irc.IRCClient):
|
||||||
# More advanced logic is left as an exercise to the reader.
|
# More advanced logic is left as an exercise to the reader.
|
||||||
tags_in_msg = []
|
tags_in_msg = []
|
||||||
for tag_group in self.tags:
|
for tag_group in self.tags:
|
||||||
tags_in_msg.append(all([tag in msg for tag in tag_group]))
|
#tags_in_msg.append(all([tag in message for tag in tag_group]))
|
||||||
|
tags_in_group = []
|
||||||
|
for tag in tag_group:
|
||||||
|
if tag.startswith("!"):
|
||||||
|
tags_in_group.append(tag[1:] not in message)
|
||||||
|
else:
|
||||||
|
tags_in_group.append(tag in message)
|
||||||
|
tags_in_msg.append(all(tags_in_group))
|
||||||
|
|
||||||
if any(tags_in_msg):
|
if any(tags_in_msg):
|
||||||
url = re.findall(r"(http.+?) ", message)[1]
|
url = re.findall(r"(http.+?) ", message)[1]
|
||||||
self.save_torrent(url, self.watch_dir)
|
self.save_torrent(url, self.watch_dir)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user