import os import queue import time from datetime import datetime import threading from audioplayer import AudioPlayer import gtts from parky_bot.settings import BOT, APP_PATH, SETTINGS, get_running from parky_bot.models.message import Message from parky_bot.utils.logger import get_logger from parky_bot.utils.file_manager import make_dir LOGGER = get_logger() TEMP_DIR = os.path.join(APP_PATH, 'sounds', 'gtts') QUEUE = queue.Queue() @BOT.decorator(['!tts']) def command_replytts(message: Message): message = "!br \U0001F1E7\U0001F1F7, !au \U0001F1E6\U0001F1FA, !s !en \U0001F1EC\U0001F1E7, " \ "!us \U0001F1FA\U0001F1F8, !de \U0001F1E9\U0001F1EA, !es \U0001F1EA\U0001F1F8, " \ "!it \U0001F1EE\U0001F1F9, !pl \U0001F1F5\U0001F1F1, !pt \U0001F1F5\U0001F1F9, " \ "!ru \U0001F1F7\U0001F1FA, !se \U0001F1F8\U0001F1EA, !uk \U0001F1FA\U0001F1E6, " \ "!cn \U0001F1E8\U0001F1F3, !ja !jp \U0001F1EF\U0001F1F5, !fr \U0001F1EB\U0001F1F7. " \ "Example: !fr animé milkers Honk" BOT.send_message(message) @BOT.decorator([ '!br', '!au', '!s', '!en', '!de', '!es', '!ja', '!jp', '!it', '!pl', '!pt', '!ru', '!se', '!uk', '!cn', '!fi', '!fr', '!us'
import os import importlib from parky_bot.utils.logger import get_logger logger = get_logger() def load_plugins(main_module_path: str, main_module_name='', plugins_folder='plugins'): plugins_dir = os.path.join(main_module_path, plugins_folder) if not os.path.isdir(plugins_dir): #logger.warn(f'Plugin folder not found: "{plugins_dir}"') return if main_module_name: main_module_name += '.' for file in os.listdir(plugins_dir): if file.endswith(".py"): try: importlib.import_module( f'{main_module_name}plugins.{file[:-3]}') except Exception as e: logger.error(e, exc_info=True)
# Setting paths if getattr(sys, 'frozen', False): APP_PATH = os.path.dirname(sys.executable) #pylint: disable=no-member RESOURCE_PATH = sys._MEIPASS else: APP_PATH = os.path.join(os.path.dirname(__file__), os.path.pardir) RESOURCE_PATH = os.path.join(os.path.dirname(__file__)) SETTINGS_PATH = os.path.join(APP_PATH, 'settings.json') SOUNDS_PATH = os.path.join(APP_PATH, 'sounds') # Loading settings SETTINGS = get_settings(SETTINGS_PATH) # Configure logger configure_logger(get_logger(), int(SETTINGS['logging']['level'])) # Initilizing bot IRC = TwitchIRC(SETTINGS['irc']['username'], SETTINGS['irc']['channel'], SETTINGS['irc']['token']) API = TwitchAPI(SETTINGS['api']['client_id'], SETTINGS['api']['channel'], SETTINGS['api']['token']) BOT = ParkyBot(API, IRC) def start(): if '--console' not in sys.argv: threading.Thread(target=Application, args=(BOT, SETTINGS)).start() BOT.pooling() save_settings(SETTINGS, SETTINGS_PATH)