Skip to content

Commit 93e7634

Browse files
committed
feat(ver): v0.1.0 release
1 parent 4d27835 commit 93e7634

File tree

5 files changed

+138
-96
lines changed

5 files changed

+138
-96
lines changed

Diff for: lagrange/client/base.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ def __init__(
4444
app_info: AppInfo,
4545
device_info: DeviceInfo,
4646
sig_info: SigInfo,
47-
sign_provider: Optional[Callable[[str, int, bytes], Coroutine[None, None, dict]]] = None,
47+
sign_provider: Optional[
48+
Callable[[str, int, bytes], Coroutine[None, None, dict]]
49+
] = None,
4850
use_ipv6=True,
4951
):
5052
if uin and not sig_info.uin:
@@ -142,7 +144,7 @@ async def _push_handle_loop(self):
142144
try:
143145
await self.push_handler(sso)
144146
except Exception as e:
145-
log.root.error("Unhandled exception on push handler", exc_info=e)
147+
log.root.exception("Unhandled exception on push handler", exc_info=e)
146148

147149
async def wait_closed(self) -> None:
148150
try:

Diff for: lagrange/client/server_push/msg.py

+2
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ async def msg_push_handler(client: "Client", sso: SSOPacket):
189189
target_uid=unpack_dict(info, "5.3.1", b"").decode(),
190190
duration=unpack_dict(info, "5.3.2"),
191191
)
192+
elif sub_typ == 21: # set/unset essence msg
193+
pass # todo
192194
else:
193195
logger.debug(
194196
"unknown sub_type %d: %s"

Diff for: main.py

+47-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33

44
from lagrange import Lagrange, install_loguru
55
from lagrange.client.client import Client
6-
from lagrange.client.events.group import GroupMessage
6+
from lagrange.client.events.group import GroupMessage, GroupSign, GroupReaction
77
from lagrange.client.events.service import ServerKick
8-
from lagrange.client.message.elems import At, Text
8+
from lagrange.client.message.elems import At, Text, Quote, Emoji
99

1010

1111
async def msg_handler(client: Client, event: GroupMessage):
12-
#print(event)
12+
# print(event)
1313
if event.msg.startswith("114514"):
14-
msg_seq = await client.send_grp_msg([At.build(event), Text("1919810")], event.grp_id)
14+
msg_seq = await client.send_grp_msg(
15+
[At.build(event), Text("1919810")], event.grp_id
16+
)
1517
await asyncio.sleep(5)
1618
await client.recall_grp_msg(event.grp_id, msg_seq)
1719
elif event.msg.startswith("imgs"):
@@ -31,6 +33,45 @@ async def handle_kick(client: "Client", event: "ServerKick"):
3133
await client.stop()
3234

3335

36+
async def handle_grp_sign(client: "Client", event: "GroupSign"):
37+
a = "闲着没事爱打卡,可以去找个班上"
38+
k = None
39+
uid = None
40+
while True:
41+
kk = await client.get_grp_members(event.grp_id, k)
42+
for m in kk.body:
43+
if m.account.uin == event.uin:
44+
uid = m.account.uid
45+
break
46+
if uid:
47+
break
48+
if kk.next_key:
49+
k = kk.next_key
50+
else:
51+
raise ValueError(f"cannot find member: {event.uin}")
52+
53+
await client.send_grp_msg(
54+
[At(f"@{event.nickname} ", event.uin, uid), Text(a)], event.grp_id
55+
)
56+
57+
58+
async def handle_group_reaction(client: "Client", event: "GroupReaction"):
59+
msg = (await client.get_grp_msg(event.grp_id, event.seq))[0]
60+
mi = (await client.get_grp_member_info(event.grp_id, event.uid)).body[0]
61+
if event.is_emoji:
62+
e = Text(chr(event.emoji_id))
63+
else:
64+
e = Emoji(event.emoji_id)
65+
if event.is_increase:
66+
m = "给你点了"
67+
else:
68+
m = "取消了"
69+
await client.send_grp_msg(
70+
[Quote.build(msg), Text(f"{mi.name.string if mi.name else mi.nickname}{m}"), e],
71+
event.grp_id,
72+
)
73+
74+
3475
lag = Lagrange(
3576
int(os.environ.get("LAGRANGE_UIN", "0")),
3677
"linux",
@@ -41,6 +82,8 @@ async def handle_kick(client: "Client", event: "ServerKick"):
4182

4283
lag.subscribe(GroupMessage, msg_handler)
4384
lag.subscribe(ServerKick, handle_kick)
85+
lag.subscribe(GroupSign, handle_grp_sign)
86+
lag.subscribe(GroupReaction, handle_group_reaction)
4487

4588

4689
lag.launch()

0 commit comments

Comments
 (0)