Esempio n. 1
0
 def __init__(self, workspace_services: [str, WorkspaceService]):
     self.workspace_services = workspace_services
     self.app_url = os.environ['APP_URL']
     self.env_label = f'-{os.environ["APP_ENV"]}' if os.environ[
         'APP_ENV'] != 'production' else ''
     self.pub_service = PubService()
     self.logger = InitLogger.instance()
 def __init__(self):
     self.client_id = os.environ['DISCORD_CLIENT_ID']
     self.client_secret = os.environ['DISCORD_CLIENT_SECRET']
     self.redirect_uri = os.environ["DISCORD_REDIRECT_URI"]
     self.client = Client()
     self.is_bot = True
     self.logger = InitLogger.instance()
     self.headers = {
         'Content-Type': 'application/json',
         'Authorization': ''
     }
     self.http_client = HttpClient()
     self.api_endpoint = DISCORD_API_ENDPOINT
 def __init__(self, token=""):
     self.client = WebClient(token=token)
     self.logger = InitLogger.instance()
Esempio n. 4
0
from src.shared_core.entry import Entry
from src.apps.const import APP_VERSION, SLACK_WORKSPACE, DISCORD_WORKSPACE
from src.services.slack_workspace_service import SlackWorkspaceService
from src.services.discord_workspace_service import DiscordWorkspaceService
from src.apps.slack.request_validator import RequestValidator
from src.init_logger import InitLogger


workspace_services = {SLACK_WORKSPACE: SlackWorkspaceService(
), DISCORD_WORKSPACE: DiscordWorkspaceService()}
entry = Entry(workspace_services)

connstr = os.environ['SERVICE_BUS_CONN_STR']
queue_name = os.environ['SERVICE_BUS_QUEUE_NAME']

logger = InitLogger.instance(SLACK_WORKSPACE, os.environ["APP_ENV"])

CLIENT_ID = os.environ["SLACK_CLIENT_ID"]
CLIENT_SECRET = os.environ["SLACK_CLIENT_SECRET"]
REDIRECT_URI = os.environ["SLACK_REDIRECT_URI"]
SCOPE = 'channels:manage,channels:join,channels:read,chat:write,chat:write.customize,reactions:read,reactions:write,users:read,channels:history'
app = Flask(__name__)
CORS(app)

@app.route("/", methods=["GET"])
def root():
    """root index"""
    return Response(status="200")

@app.route("/finish_auth", methods=["GET", "POST"])
def post_install():
Esempio n. 5
0
 def __init__(self, workspace_services):
     self.event_handler = EventHandler(workspace_services)
     self.logger = InitLogger.instance()
Esempio n. 6
0
"""Discord client to handle incoming events from workspace.
   Docs https://discordpy.readthedocs.io/en/latest/api.html
"""
import os
import discord
from src.shared_core.entry import Entry
from src.services.discord_workspace_service import DiscordWorkspaceService
from src.services.slack_workspace_service import SlackWorkspaceService
from src.init_logger import InitLogger
from src.apps.const import APP_VERSION, DISCORD_WORKSPACE, SLACK_WORKSPACE

logger = InitLogger.instance(DISCORD_WORKSPACE, os.environ["APP_ENV"])
workspace_services = {SLACK_WORKSPACE: SlackWorkspaceService(
), DISCORD_WORKSPACE: DiscordWorkspaceService()}
entry = Entry(workspace_services)
logger.warn(f'discord.py version: {discord.__version__}')

class DiscordEventClient(discord.Client):
    """Class to handle events from discord"""
    async def on_ready(self):
        """Override on_ready, indicates client has connected"""
        logger.warn(f'app version: {APP_VERSION}')
        logger.warn('Logged on as {0}!'.format(self.user))

    async def on_message(self, message):
        """Override on_message, indicates message posted to channel"""
        if message.author == self.user:
            return

        author = f'{message.author.name}#{message.author.discriminator}'
        await entry.process_message_posted_event(
Esempio n. 7
0
 def __init__(self):
     self.logger = InitLogger.instance()
Esempio n. 8
0
 def __init__(self, workspace_services: WorkspaceService):
     self.workspace_services = workspace_services
     self.app_url = os.environ['APP_URL']
     self.logger = InitLogger.instance()