mirror of
https://github.com/aljazceru/chatgpt-telegram-bot.git
synced 2025-12-19 05:35:20 +01:00
Merge branch 'feature/support-functions' into feature/support-functions
This commit is contained in:
@@ -1,32 +1,39 @@
|
||||
import json
|
||||
|
||||
from plugins.images import ImageSearchPlugin
|
||||
from plugins.translate import TranslatePlugin
|
||||
from bot.plugins.dice import DicePlugin
|
||||
from bot.plugins.youtube_audio_extractor import YouTubeAudioExtractorPlugin
|
||||
from plugins.ddg_image_search import DDGImageSearchPlugin
|
||||
from plugins.ddg_translate import DDGTranslatePlugin
|
||||
from plugins.spotify import SpotifyPlugin
|
||||
from plugins.crypto import CryptoPlugin
|
||||
from plugins.weather import WeatherPlugin
|
||||
from plugins.web_search import WebSearchPlugin
|
||||
from plugins.ddg_web_search import DDGWebSearchPlugin
|
||||
from plugins.wolfram_alpha import WolframAlphaPlugin
|
||||
from plugins.deepl import DeeplTranslatePlugin
|
||||
from plugins.worldtimeapi import WorldTimeApiPlugin
|
||||
|
||||
|
||||
class PluginManager:
|
||||
"""
|
||||
A class to manage the plugins and call the correct functions
|
||||
"""
|
||||
|
||||
def __init__(self, config):
|
||||
enabled_plugins = config.get('plugins', [])
|
||||
plugin_mapping = {
|
||||
'wolfram': WolframAlphaPlugin(),
|
||||
'weather': WeatherPlugin(),
|
||||
'crypto': CryptoPlugin(),
|
||||
'web_search': WebSearchPlugin(),
|
||||
'spotify': SpotifyPlugin(),
|
||||
'translate': TranslatePlugin(),
|
||||
'image_search': ImageSearchPlugin(),
|
||||
'deepl': DeeplTranslatePlugin()
|
||||
'wolfram': WolframAlphaPlugin,
|
||||
'weather': WeatherPlugin,
|
||||
'crypto': CryptoPlugin,
|
||||
'ddg_web_search': DDGWebSearchPlugin,
|
||||
'ddg_translate': DDGTranslatePlugin,
|
||||
'ddg_image_search': DDGImageSearchPlugin,
|
||||
'spotify': SpotifyPlugin,
|
||||
'worldtimeapi': WorldTimeApiPlugin,
|
||||
'youtube_audio_extractor': YouTubeAudioExtractorPlugin,
|
||||
'dice': DicePlugin,
|
||||
'deepl': DeeplTranslatePlugin
|
||||
}
|
||||
self.plugins = [plugin_mapping[plugin] for plugin in enabled_plugins]
|
||||
self.plugins = [plugin_mapping[plugin]() for plugin in enabled_plugins if plugin in plugin_mapping]
|
||||
|
||||
def get_functions_specs(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user