-
Notifications
You must be signed in to change notification settings - Fork 42
/
notification.py
71 lines (51 loc) · 2.73 KB
/
notification.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import requests
class Notification:
def send_lotto_buying_message(self, body: dict, webhook_url: str) -> None:
assert type(webhook_url) == str
result = body.get("result", {})
if result.get("resultMsg", "FAILURE").upper() != "SUCCESS":
return
lotto_number_str = self.make_lotto_number_message(result["arrGameChoiceNum"])
message = f"{result['buyRound']}회 로또 구매 완료 :moneybag: 남은잔액 : {body['balance']}\n```{lotto_number_str}```"
self._send_discord_webhook(webhook_url, message)
def make_lotto_number_message(self, lotto_number: list) -> str:
assert type(lotto_number) == list
# parse list without last number 3
lotto_number = [x[:-1] for x in lotto_number]
# remove alphabet and | replace white space from lotto_number
lotto_number = [x.replace("|", " ") for x in lotto_number]
# lotto_number to string
lotto_number = '\n'.join(x for x in lotto_number)
return lotto_number
def send_win720_buying_message(self, body: dict, webhook_url: str) -> None:
assert type(webhook_url) == str
if body.get("resultCode") != '100':
return
win720_round = body.get("resultMsg").split("|")[3]
win720_number_str = self.make_win720_number_message(body.get("saleTicket"))
message = f"{win720_round}회 연금복권 구매 완료 :moneybag: 남은잔액 : {body['balance']}\n```{win720_number_str}```"
def make_win720_number_message(self, win720_number: str) -> str:
return "\n".join(win720_number.split(","))
def send_lotto_winning_message(self, winning: dict, webhook_url: str) -> None:
assert type(winning) == dict
assert type(webhook_url) == str
try:
round = winning["round"]
money = winning["money"]
message = f"로또 *{winning['round']}회* - *{winning['money']}* 당첨 되었습니다 :tada:"
self._send_discord_webhook(webhook_url, message)
except KeyError:
return
def send_win720_winning_message(self, winning: dict, webhook_url: str) -> None:
assert type(winning) == dict
assert type(webhook_url) == str
try:
round = winning["round"]
money = winning["money"]
message = f"연금복권 *{winning['round']}회* - *{winning['money']}* 당첨 되었습니다 :tada:"
self._send_discord_webhook(webhook_url, message)
except KeyError:
return
def _send_discord_webhook(self, webhook_url: str, message: str) -> None:
payload = { "content": message }
requests.post(webhook_url, json=payload)