public SubmitController(IUserInfo user) : base(user)
 {
     _user   = user;
     channel = user.chatChannel;
     token   = "";//Omitted
     api     = new SlackApiClient(token);
 }
示例#2
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.Register(cc =>
            {
                var configuration = cc.Resolve <IConfiguration>();
                var botOauthToken = configuration.GetValue <string>("BotOauthToken");
                var slackClient   = new SlackApiClient(botOauthToken);

                return(slackClient);
            }).As <ISlackApiClient>();

            ScanAndRegister(builder, "Service");
            ScanAndRegister(builder, "Command");

            builder.RegisterModule <C3prCoreModule>();


            builder.Register(cc =>
            {
                var configuration                 = cc.Resolve <IConfiguration>();
                var githubPersonalAccessToken     = configuration.GetValue <string>("githubPersonalAccessToken");
                var githubRepositoryBuildDispatch = configuration.GetValue <string>("githubRepositoryBuildDispatch");
                var githubRepositoryMasterBranch  = configuration.GetValue <string>("githubRepositoryMasterBranch");
                var slackClient = new ExternalGithubActionsBuildTrigger(
                    githubPersonalAccessToken,
                    githubRepositoryBuildDispatch,
                    githubRepositoryMasterBranch);

                return(slackClient);
            }).AsImplementedInterfaces();
        }
示例#3
0
        private static async Task Run(string token)
        {
            var count = 0;
            var api   = new SlackApiClient(token);

            using (var rtmClient = new SlackRtmClient(token))
            {
                await rtmClient.Connect().ConfigureAwait(false);

                Console.WriteLine("Connected");

                rtmClient.Messages
                .Where(m => m.Text.Contains("ping"))
                .Subscribe(async m =>
                {
                    var user = (await api.Users.Info(m.User).ConfigureAwait(false));
                    Console.WriteLine($"Received ping from @{user.Name}");

                    await api.Chat.PostMessage(new Message
                    {
                        Channel     = m.Channel,
                        Text        = "pong",
                        Attachments = { new Attachment {
                                            Text = $"Count: {++count}"
                                        } }
                    }).ConfigureAwait(false);
                });

                await rtmClient.Events;
            }
        }
 /// <summary>
 /// Retrieves the user info from UserInfo Model
 /// Initiates both Slack API and Cloudinary API
 /// </summary>
 public ChatController(IUserInfo user) : base(user)
 {
     _user          = user;
     messageHistory = new Chat.Messages();
     channel        = user.chatChannel;
     token          = "";//Omitted
     api            = new SlackApiClient(token);
 }
示例#5
0
        public SlackAdapter(SlackOptions options) : base()
        {
            this.options = options;

            if (!options.IsValid)
            {
                throw new ArgumentException(
                          "Passed options are invalid."
                          );
            }

            Rest = new SlackApiClient(options.BotUserToken);
        }