File tree Expand file tree Collapse file tree 3 files changed +72
-0
lines changed
Expand file tree Collapse file tree 3 files changed +72
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import List
2+ from dataclasses import dataclass
3+
4+ from githubkit .webhooks .types import webhook_action_types
5+
6+
7+ @dataclass
8+ class Data :
9+ class_name : str
10+ payload_type : str
11+
12+
13+ def build_event ():
14+ events : List [Data ] = []
15+ for event , types in webhook_action_types .items ():
16+ if not isinstance (types , dict ):
17+ events .append (Data (types .__name__ , types .__name__ ))
18+
19+ for action , type in types .items ():
20+ ...
Original file line number Diff line number Diff line change 1+ from . import build_event
2+
3+ if __name__ == "__main__" :
4+ build_event ()
Original file line number Diff line number Diff line change 1+ from typing import Any
2+
3+ from githubkit.utils import UNSET
4+ from nonebot.typing import overrides
5+
6+ from nonebot.adapters import Event as BaseEvent
7+
8+
9+ class Event(BaseEvent):
10+ id: str
11+ name: str
12+ payload: Any
13+
14+ to_me: bool = False
15+
16+ @overrides(BaseEvent)
17+ def get_type(self) -> str:
18+ return "notice"
19+
20+ @overrides(BaseEvent)
21+ def get_event_name(self) -> str:
22+ return self.event_name + f".{action}" if (action := getattr(self, "action", UNSET)) else ""
23+
24+ @overrides(BaseEvent)
25+ def get_event_description(self) -> str:
26+ return escape_tag(
27+ f"{self.__class__.__name__} " +
28+ (f"from sender {sender.login}" if (sender := getattr(self, "sender", UNSET)) else "") +
29+ (f"in repository {repo.full_name}" if (repo := getattr(self, "repository", UNSET)) else "") +
30+ )
31+
32+ @overrides(BaseEvent)
33+ def get_message(self) -> Message:
34+ raise ValueError("Event has no message!")
35+
36+ @overrides(BaseEvent)
37+ def get_user_id(self) -> str:
38+ if sender := getattr(self, "sender", UNSET):
39+ return sender.login
40+ raise ValueError("Event has no context!")
41+
42+ @overrides(BaseEvent)
43+ def get_session_id(self) -> str:
44+ return self.get_user_id()
45+
46+ @overrides(BaseEvent)
47+ def is_tome(self) -> bool:
48+ return self.to_me
You can’t perform that action at this time.
0 commit comments