public async Task <IMessage> Riffsy(IInvocationContext context, string message) { using (HttpClient client = new HttpClient()) { string json = await client.GetStringAsync( $"http://api.riffsy.com/v1/search?key=KXSAYTVBST24&limit=50&tag={WebUtility.UrlEncode(message)}"); var jsonObj = JsonConvert.DeserializeObject <JObject>(json); var url = jsonObj["results"].Where(x => { try { return((long)x["media"][0]["gif"]["size"] < 6000000); } catch { return(false); } }).GetRandom()["media"][0]["gif"]["url"].ToString(); MemoryStream imageStream = await client.GetStreamAndBufferToMemory(url); return(Message.Create(null, new StreamAttachment(imageStream, message + ".gif"))); } }
public void SetClientStatus(IInvocationContext context, string status) { if (context.OriginClient is IClientUserStatus userStatus) { userStatus.UserStatus = status; } }
private void OnException(IInvocationContext ctx, Exception ex) { var method = ctx.Method; var logger = LogManager.GetLogger(method.DeclaringType.Name); if (method.IsSpecialName) { Log(logger, "Invoke property " + method.Name + " exception : " + ex.Message); } else { Type[] args = Type.GetTypeArray(ctx.Parameters); String argMessage = "("; foreach (Type arg in args) { argMessage += " " + arg.Name; } argMessage += ")"; Log(logger, "Invoke method " + method.Name + argMessage + " exception : " + ex.Message); } logger.Error(ex.Message, ex); }
private void OnException(IInvocationContext ctx,Exception ex) { var method = ctx.Method; var logger = LogManager.GetLogger(method.DeclaringType.Name); if (method.IsSpecialName) { Log(logger, "Invoke property " + method.Name + " exception : " + ex.Message); } else { Type[] args = Type.GetTypeArray(ctx.Parameters); String argMessage = "("; foreach (Type arg in args) { argMessage += " " + arg.Name; } argMessage += ")"; Log(logger, "Invoke method " + method.Name + argMessage + " exception : " + ex.Message); } logger.Error(ex.Message,ex); }
public void CommandList(IInvocationContext context, IMessage message) { ISendable target = context.Raiser; if (context.User.Permissions != UserPermission.BotOwner) { target = context.User; } StringBuilder sb = new StringBuilder(); foreach ( var cmd in _commandRegistry.CommandAttributes.OrderBy(x => x.Name) .Where(x => x.MinimumPermissionLevel <= context.User.Permissions)) { string args = string.Empty; if (!string.IsNullOrEmpty(cmd.Arguments)) { args = string.Join(" ", cmd.Arguments.Split('|').Select(x => $"[{x.Trim()}]")); } sb.AppendLine($"{"." + cmd.Name + " " + args}"); } target.Send(context.OriginClient.Features.HasFlag(ClientFeature.Markdown) ? Message.Create($"```css\n{sb.ToString()}\n```") : Message.Create(sb.ToString())); }
/// <inheritdoc/> public object Intercept(IInvocationContext invocationContext) { var methodInfo = invocationContext.Method; var target = _targetFactory(invocationContext.Target); return methodInfo.Invoke(target, invocationContext.Parameters); }
public HandlerInvoker(IFubuRequest request, THandler handler, IInvocationContext context, HandlerInvocation <THandler> invocation) : base(PartialBehavior.Executes) { _request = request; _handler = handler; _context = context; _invocation = invocation; }
public async Task <IMessage> ExecuteCommandAsync(string commandName, IInvocationContext context, IMessage message) { var selectedCommand = GetCommand(commandName); if (selectedCommand == null) { return(null); } return(await Task.Run(async() => { var result = _commandMap[selectedCommand](context, message); // Check if the command is actually a task, if so, start that bad boy up and return result. if (result is Task) { await(Task) result; result = result.GetType().GetRuntimeProperty("Result")?.GetValue(result); } if (result == null) { return Message.Create(String.Empty); } if (result is IMessage) { return (IMessage)result; } return Message.Create(result.ToString()); })); }
public void BeforeProceed(IInvocationContext context) { foreach (var item in context.Arguments) { if (item == null) { continue; } var itemType = item.GetType(); if (itemType.IsPrimitive || itemType.IsArray) { continue; } var type = typeof(ICustomValidator <>).MakeGenericType(item.GetType()); var validator = (ICustomValidator)DependencyContainer.Container.Resolve(type); if (validator == null) { continue; } var result = validator.Validate(item, currentContext.Current.ActionType); if (result.IsValid) { continue; } foreach (var errorItem in result.Errors) { throw new DenialException(errorItem.ErrorMessage, errorItem.PropertyName); // TODO: throw exception for all error messages } } }
public string GreetUser(IInvocationContext context, string user) { if (string.IsNullOrEmpty(user)) { // Get the user from the invocation context if a user wasn't provided as an argument. user = context?.User.Name; } return($"Hello {user}!"); }
public Task <object> AroundInvoke(IInvocationContext invocationContext) { if (OnModelCreatingMethod == invocationContext.Method.GetBaseDefinition()) { _entityRegistrar.RegisterEntities((DbModelBuilder)invocationContext.Arguments[0]); } return(invocationContext.Proceed()); }
public ExceptionHandlerBehavior(IActionBehavior behavior, HandlerChain chain, Envelope envelope, IInvocationContext context, ILogger logger, IFubuRequest request) { _behavior = behavior; _chain = chain; _envelope = envelope; _context = context; _logger = logger; _request = request; }
public void RaiseIncoming(IInvocationContext context, IMessage message) { if (context == null || message == null) { return; } Log.Trace($"[{context.OriginClient?.Name}] [{context.Channel?.Name}] {context.User?.Name}: {message.Text}"); Received?.Invoke(this, new MessageReceivedEventArgs(context, message)); }
public object Intercept(IInvocationContext invocationContext) { var lazy = invocationContext.Target as ILazy; if (lazy != null) { if (!lazy.Loaded) { lazy.Loaded = true; // Perform lazy loading... } } return invocationContext.Proceed(); }
/// <summary> /// /// </summary> /// <param name="ctx"></param> private void OnInvocationExecuted(IInvocationContext ctx) { var method = ctx.Method; var logger = LogManager.GetLogger(method.DeclaringType.Name); if (method.IsSpecialName) { Log(logger, "Invoked property " + method.Name); } else { Type[] args = Type.GetTypeArray(ctx.Parameters); String argMessage = "("; foreach (Type arg in args) { argMessage += " " + arg.Name; } argMessage += ")"; Log(logger, "Invoked method " + method.Name + argMessage); } }
public object Intercept(IInvocationContext invocationContext) { InvocationCount++; return invocationContext.Proceed(); }
public BarMock(IInvocationContext<IFoo> context) { this.context = context; }
public ChainSuccessContinuation(IInvocationContext context) { _context = context; }
public FakeCommunicationService() { FakeContext = new MockContext<ICommunicationService>(); }
public SendEmailServiceMock(IInvocationContext<ISendEmailService> context) { _context = context; }
public object Intercept(IInvocationContext invocationContext) { object result = null; try { OnInvocationExecuting(invocationContext); result = invocationContext.Proceed(); } catch (Exception ex) { OnException(invocationContext, ex); } finally { OnInvocationExecuted(invocationContext); } return result; }
public object Intercept(IInvocationContext invocationContext) { Console.WriteLine("call :" + invocationContext.Method.Name); return invocationContext.Proceed(); }
/// <inheritdoc/> public object Intercept(IInvocationContext invocationContext) { var methodInfo = invocationContext.Method; return methodInfo.Invoke(_target, invocationContext.Parameters); }
public DeviceViewModelMock(IInvocationContext<DeviceViewModel> context, IInvocationContext<Laboratory> labContext) : base(new LaboratoryMock(labContext)) { this.context = context; }
public CloudAuthenticatorMock(IInvocationContext<CloudAuthenticator> context) { this.context = context; }
public LaboratoryMock(IInvocationContext<Laboratory> context) { this.context = context; }
public PropMock(IInvocationContext<IProp> context) { _context = context; }
public AssemblyScannerMock(IInvocationContext<IAssemblyScanner> context) { this.context = context; }