public async Task GetBucketKey()
        {
            var key = _contextManager.GetBucketKey(node);

            key.ShouldNotBeNull();
            key.ShouldBe("testUser_UserContext");
        }
Exemplo n.º 2
0
        public async Task <bool> HandleAsync(Message message, CancellationToken cancellationToken)
        {
            try
            {
                var action = message.Content.ToString().Trim();
                action = RemoveDevTag(action);


                if (action.Equals("")) //DevAction to delete current user from the bot's context
                {
                    var bucketKey = _contextManager.GetBucketKey(message.From);
                    await _bucket.DeleteAsync(bucketKey);

                    await _sender.SendMessageAsync("DELETION DONE", message.From, cancellationToken);
                }
                else if (action.Equals(""))           //DevAction to refresh scheduled messages. TODO: automate
                {
                    if (message.From.Name.Equals("")) //To make sure no one exploits this, set the Main Dev identifier from facebook here
                    {
                        await _scheduler.UpdateBroadcastMessagesAsync(_owlFilter, _settings);

                        await _sender.SendMessageAsync("UPDATE DONE", message.From, cancellationToken);
                    }
                    else
                    {
                        await _sender.SendMessageAsync("NOT MAIN DEV. ABORTING", message.From, cancellationToken);

                        throw new Exception();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }