Support currency trade
This commit is contained in:
parent
fcf65b7c10
commit
6e99de90a6
@ -12,4 +12,4 @@ Chat:
|
||||
sold: 'Sorry, {item} is already sold'
|
||||
Parser:
|
||||
re_log: '(?P<date>\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d) (\d+) (\S+) \[(?P<level>\S+) (\S+) (\d+)\] (?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
|
||||
re_trade: 'Hi, I would like to buy your (?P<item>.+) listed for (?P<amount>\d+) (?P<currency>\S+) in (?P<league>\S+) \(stash tab "(?P<tab>.+)"; position: left (?P<col>\d+), top (?P<row>\d+)\)'
|
||||
re_trade: 'Hi, I would like to buy your ?(?P<nrItems>\d*) (?P<item>.+) (listed )?for (my )?(?P<amount>\d+) (?P<currency>\D+) in (?P<league>\w+)\.?( \(stash tab "(?P<tab>.+)"; position: left (?P<col>\d+), top (?P<row>\d+)\))?'
|
||||
|
19
src/data.py
19
src/data.py
@ -43,23 +43,25 @@ channel_mapping = {'#': Channel.GLOBAL,
|
||||
|
||||
class Trade():
|
||||
def __init__(self,
|
||||
nrItems: str,
|
||||
item: str,
|
||||
amount: int,
|
||||
currency: str,
|
||||
tab: str,
|
||||
row: int,
|
||||
col: int,
|
||||
row: str,
|
||||
col: str,
|
||||
league: str) -> None:
|
||||
self.nrItems = int(nrItems) if nrItems else None
|
||||
self.item = item
|
||||
self.amount = amount
|
||||
self.currency = currency
|
||||
self.tab = tab
|
||||
self.row = row
|
||||
self.col = col
|
||||
self.row = int(row) if row else None
|
||||
self.col = int(col) if col else None
|
||||
self.league = league
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f'Trade: {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
||||
return f'Trade: {self.nrItems} {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
||||
|
||||
|
||||
class Message():
|
||||
@ -110,10 +112,11 @@ class Message():
|
||||
def parse_trade(self) -> None:
|
||||
res = re_trade.search(self.message)
|
||||
if res:
|
||||
self.trade = Trade(item=res['item'],
|
||||
self.trade = Trade(nrItems=res['nrItems'],
|
||||
item=res['item'],
|
||||
amount=int(res['amount']),
|
||||
currency=res['currency'],
|
||||
tab=res['tab'],
|
||||
row=int(res['row']),
|
||||
col=int(res['col']),
|
||||
row=res['row'],
|
||||
col=res['col'],
|
||||
league=res['league'])
|
||||
|
@ -9,3 +9,12 @@ def test_write_to_log():
|
||||
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
||||
with open(log_file, 'a') as f:
|
||||
f.write(text)
|
||||
|
||||
|
||||
def test_write_to_log_2():
|
||||
config.read_config(r'config.yaml')
|
||||
log_file = config.get_value('General.log_file')
|
||||
assert(log_file)
|
||||
text = ' 2021/05/09 15:25:21 14716218 bad [INFO Client 15632] @From iveseee: Hi, I would like to buy your 2 Ancient Orb for my 28 Chaos Orb in Ultimatum.'
|
||||
with open(log_file, 'a') as f:
|
||||
f.write(text)
|
||||
|
Loading…
x
Reference in New Issue
Block a user