mirror of
https://github.com/fishyboteso/fishyboteso.git
synced 2024-08-30 18:32:13 +00:00
Merge pull request #65 from SemjonKerner/fixup_sound_notify
playsound whenever user interaction is required
This commit is contained in:
commit
fb76efdca3
@ -1,20 +1,21 @@
|
||||
import time
|
||||
import typing
|
||||
import cv2
|
||||
import logging
|
||||
from threading import Thread
|
||||
from typing import Callable
|
||||
from typing import Optional
|
||||
|
||||
import cv2
|
||||
import logging
|
||||
|
||||
from fishy.engine.semifisher.fishing_event import FishEvent
|
||||
from playsound import playsound
|
||||
|
||||
from fishy.engine.common.window import WindowClient
|
||||
from fishy.engine.semifisher.fishing_mode import Colors, FishingMode
|
||||
|
||||
from fishy.engine.common.IEngine import IEngine
|
||||
from fishy.engine.semifisher.fishing_mode import FishingMode
|
||||
from fishy.engine.semifisher.fishing_event import FishEvent
|
||||
from fishy.engine.semifisher import fishing_mode, fishing_event
|
||||
from fishy.engine.semifisher.pixel_loc import PixelLoc
|
||||
from fishy.helper import helper
|
||||
|
||||
from fishy.helper.luaparser import sv_color_extract
|
||||
|
||||
@ -85,6 +86,9 @@ class SemiFisherEngine(IEngine):
|
||||
if self.start:
|
||||
self.thread = Thread(target=self.run)
|
||||
self.thread.start()
|
||||
playsound(helper.manifest_file("beep.wav"), False)
|
||||
else:
|
||||
helper.playsound_multiple(helper.manifest_file("beep.wav"))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -5,20 +5,17 @@ also implements callbacks which is called when states are changed
|
||||
"""
|
||||
import logging
|
||||
import time
|
||||
|
||||
from fishy.engine.semifisher import fishing_mode
|
||||
from playsound import playsound
|
||||
|
||||
from fishy import web
|
||||
from fishy.engine.semifisher.fishing_mode import State, FishingMode
|
||||
from fishy.helper import helper
|
||||
import random
|
||||
import keyboard
|
||||
from playsound import playsound
|
||||
from win32gui import GetWindowText, GetForegroundWindow
|
||||
|
||||
from fishy import web
|
||||
from fishy.engine.semifisher import fishing_mode
|
||||
from fishy.engine.semifisher.fishing_mode import State, FishingMode
|
||||
from fishy.helper import helper
|
||||
from fishy.helper.config import config
|
||||
|
||||
import random
|
||||
|
||||
|
||||
class FishEvent:
|
||||
fishCaught = 0
|
||||
@ -55,7 +52,7 @@ def if_eso_is_focused(func):
|
||||
|
||||
def _sound_and_send_fishy_data():
|
||||
if FishEvent.fishCaught > 0:
|
||||
web.send_hole_deplete(FishEvent.fishCaught, time.time() - FishEvent.hole_start_time, FishEvent.fish_times)
|
||||
web.send_fish_caught(FishEvent.fishCaught, time.time() - FishEvent.hole_start_time, FishEvent.fish_times)
|
||||
FishEvent.fishCaught = 0
|
||||
|
||||
if FishEvent.sound:
|
||||
@ -87,16 +84,16 @@ def subscribe():
|
||||
def fisher_callback(event: State):
|
||||
callbacks_map = {
|
||||
State.IDLE: on_idle,
|
||||
State.LOOKAWAY: on_lookaway,
|
||||
State.LOOKAWAY: on_idle,
|
||||
State.LOOKING: on_looking,
|
||||
State.DEPLETED: on_depleted,
|
||||
State.NOBAIT: on_nobait,
|
||||
State.NOBAIT: lambda: on_user_interact("You need to equip bait!"),
|
||||
State.FISHING: on_fishing,
|
||||
State.REELIN: on_reelin,
|
||||
State.LOOT: on_loot,
|
||||
State.INVFULL: on_invfull,
|
||||
State.FIGHT: on_fight,
|
||||
State.DEAD: on_dead
|
||||
State.INVFULL: lambda: on_user_interact("Inventory is full!"),
|
||||
State.FIGHT: lambda: on_user_interact("Character is FIGHTING!"),
|
||||
State.DEAD: lambda: on_user_interact("Character died!")
|
||||
}
|
||||
|
||||
try:
|
||||
@ -119,10 +116,6 @@ def on_depleted():
|
||||
_sound_and_send_fishy_data()
|
||||
|
||||
|
||||
def on_lookaway():
|
||||
return
|
||||
|
||||
|
||||
@if_eso_is_focused
|
||||
def on_looking():
|
||||
"""
|
||||
@ -132,11 +125,13 @@ def on_looking():
|
||||
keyboard.press_and_release(FishEvent.action_key)
|
||||
|
||||
|
||||
def on_nobait():
|
||||
msg = "No bait equipped!"
|
||||
def on_user_interact(msg):
|
||||
logging.info(msg)
|
||||
web.send_notification(msg)
|
||||
|
||||
if FishEvent.sound:
|
||||
playsound(helper.manifest_file("sound.mp3"), False)
|
||||
|
||||
|
||||
def on_fishing():
|
||||
FishEvent.stickInitTime = time.time()
|
||||
@ -170,21 +165,3 @@ def on_loot():
|
||||
_fishing_sleep(0)
|
||||
keyboard.press_and_release(FishEvent.collect_key)
|
||||
_fishing_sleep(0)
|
||||
|
||||
|
||||
def on_invfull():
|
||||
msg = "Inventory full!"
|
||||
logging.info(msg)
|
||||
web.send_notification(msg)
|
||||
|
||||
|
||||
def on_fight():
|
||||
msg = "FIGHTING!"
|
||||
logging.info(msg)
|
||||
web.send_notification(msg)
|
||||
|
||||
|
||||
def on_dead():
|
||||
msg = "Character is dead!"
|
||||
logging.info(msg)
|
||||
web.send_notification(msg)
|
||||
|
@ -2,5 +2,5 @@ from .auto_update import auto_upgrade, upgrade_avail, versions
|
||||
from .config import Config
|
||||
from .helper import open_web, initialize_uid, install_thread_excepthook, unhandled_exception_logging, manifest_file, \
|
||||
create_shortcut_first, addon_exists, get_addonversion, install_addon, remove_addon, restart, create_shortcut, \
|
||||
not_implemented, update, get_savedvarsdir
|
||||
not_implemented, update, get_savedvarsdir, playsound_multiple
|
||||
from .luaparser import sv_color_extract
|
||||
|
@ -7,6 +7,7 @@ import time
|
||||
import traceback
|
||||
import webbrowser
|
||||
import requests
|
||||
from playsound import playsound
|
||||
from io import BytesIO
|
||||
from threading import Thread
|
||||
from zipfile import ZipFile
|
||||
@ -23,6 +24,19 @@ import winshell
|
||||
from fishy import web
|
||||
|
||||
|
||||
def playsound_multiple(path, count=2):
|
||||
if count < 1:
|
||||
logging.debug("Please don't make me beep 0 times or less.")
|
||||
return
|
||||
|
||||
def _ps_m():
|
||||
for i in range(count-1):
|
||||
playsound(path, True)
|
||||
playsound(path, False)
|
||||
|
||||
Thread(target=_ps_m).start()
|
||||
|
||||
|
||||
def not_implemented():
|
||||
logging.error("Not Implemented")
|
||||
|
||||
|
@ -3,9 +3,6 @@ from threading import Thread
|
||||
from typing import Dict, Callable, Optional
|
||||
|
||||
import keyboard
|
||||
from playsound import playsound
|
||||
|
||||
from fishy.helper import helper
|
||||
|
||||
|
||||
class Key(Enum):
|
||||
@ -27,7 +24,6 @@ def _get_callback(k):
|
||||
if not _hotkeys[k]:
|
||||
return
|
||||
|
||||
playsound(helper.manifest_file("beep.wav"), False)
|
||||
Thread(target=_hotkeys[k]).start()
|
||||
return callback
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
from .urls import get_notification_page, get_terms_page
|
||||
from .web import register_user, send_notification, send_hole_deplete, is_subbed, unsub, get_session, sub
|
||||
from .web import register_user, send_notification, send_fish_caught, is_subbed, unsub, get_session, sub
|
||||
|
@ -62,7 +62,7 @@ def send_notification(message):
|
||||
|
||||
@uses_session
|
||||
@fallback(None)
|
||||
def send_hole_deplete(fish_caught, hole_time, fish_times):
|
||||
def send_fish_caught(fish_caught, hole_time, fish_times):
|
||||
hole_data = {
|
||||
"fish_caught": fish_caught,
|
||||
"hole_time": hole_time,
|
||||
|
Loading…
Reference in New Issue
Block a user