Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""LICENSE
2Copyright 2019 Hermann Krumrey <hermann@krumreyh.com>
4This file is part of otaku-info-bot.
6otaku-info-bot is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
11otaku-info-bot is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
16You should have received a copy of the GNU General Public License
17along with otaku-info-bot. If not, see <http://www.gnu.org/licenses/>.
18LICENSE"""
20from typing import List
21from kudubot.parsing.Command import Command
22from kudubot.parsing.CommandParser import CommandParser
25class OtakuInfoCommandParser(CommandParser):
26 """
27 Parser for the otaku-info-bot bot
28 """
30 @classmethod
31 def commands(cls) -> List[Command]:
32 """
33 Defines the commands the parser supports
34 :return: The list of commands
35 """
36 return [
37 Command("activate_anime_notifications",
38 [("anilist-username", str)]),
39 Command("activate_anime_notifications",
40 [("anilist-username", str), ("custom-list", str)]),
41 Command("deactivate_anime_notifications", []),
42 Command("list_new_anime_episodes", []),
43 Command("list_new_releasing_episodes", []),
44 Command("list_new_releasing_episodes", [("mincount", int)]),
45 Command("list_new_completed_episodes", []),
47 Command("activate_manga_notifications",
48 [("anilist-username", str)]),
49 Command("activate_manga_notifications",
50 [("anilist-username", str), ("custom-list", str)]),
51 Command("deactivate_manga_notifications", []),
52 Command("list_new_manga_chapters", []),
53 Command("list_new_releasing_chapters", []),
54 Command("list_new_releasing_chapters", [("mincount", int)]),
55 Command("list_new_completed_chapters", []),
57 Command("list_ln_releases", []),
58 Command("list_ln_releases", [("year", int)]),
59 Command("list_ln_releases", [("year", int), ("month", str)]),
61 Command("toggle_ranked_mode", []),
62 ]
64 @classmethod
65 def name(cls) -> str:
66 """
67 :return: The name of the parser
68 """
69 return "otaku_info_bot"