Send message to poe if "@user " is detected

This commit is contained in:
Oliver Hartmann 2021-05-11 22:39:58 +02:00
parent dd629816d8
commit 8076a215e0
3 changed files with 14 additions and 5 deletions

View File

@ -13,3 +13,4 @@ Chat:
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)|(''d)) 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+)\))?'
re_clipboard_prefix: '^@(?P<user>\S+) ' # this regex is used as a prefix for re_trade

View File

@ -1,6 +1,7 @@
import tkinter as tk
import time
from . import data
from src import sendkeys
def clipboard_poll(app: tk) -> None:
@ -14,8 +15,12 @@ def clipboard_poll(app: tk) -> None:
if new_text != text:
data.log.info(new_text)
text = new_text
res = data.re_clipboard.search(text)
if res:
trade = data.Trade.by_regex_result(res)
data.log.info(trade)
res_prefix = data.re_clipboard_prefix.search(text)
if res_prefix:
data.log.info(f'User: {res_prefix["user"]}')
res = data.re_clipboard.search(text)
sendkeys.send_text(text)
if res:
trade = data.Trade.by_regex_result(res)
data.log.info(trade)
time.sleep(0.2)

View File

@ -12,12 +12,14 @@ re_log = re.compile(
r'(?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
)
re_clipboard = None
re_clipboard_prefix = None
log = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG, format='%(levelname)-8s:: %(message)s')
def compile_regex(conf: dict):
global re_trade, re_log, re_clipboard
global re_trade, re_log, re_clipboard, re_clipboard_prefix
if 'General' in conf:
if 're_log' in conf['Parser']:
re_log = re.compile(conf['Parser']['re_log'])
@ -25,6 +27,7 @@ def compile_regex(conf: dict):
re_trade = re.compile(conf['Parser']['re_trade'])
if 're_clipboard_prefix' in conf['Parser']:
re_clipboard = re.compile(conf['Parser']['re_clipboard_prefix'] + conf['Parser']['re_trade'])
re_clipboard_prefix = re.compile(conf['Parser']['re_clipboard_prefix'] + '.*')
class Channel(Enum):