示例#1
0
        internal async Task Respond(Response response, ISocketMessageChannel channel)
        {
            TamaChan.Instance.Logger.LogInfo($"Responding with \"{response}\".");
            ResponseSentArgs responseSentArgs = await response.Respond(channel);

            response.onResponseSent?.Invoke(responseSentArgs, response);
        }
示例#2
0
#pragma warning restore CS0618 //Enable Obsolete warning.

        internal override async Task <ResponseSentArgs> Respond(ISocketMessageChannel channel)
        {
            TamaChan.Instance.EventSystem.MenuHandler.AddOrReplaceActiveMenu(this.userId, this.channelId, this.menuHandlerObject);
            ResponseSentArgs responseSentArgs = await base.Respond(channel);

            menuHandlerObject.ResponseSentArgs = responseSentArgs;
            return(responseSentArgs);
        }
示例#3
0
        private void OnPongSent(ResponseSentArgs responseSentArgs, Response response)
        {
            long oldTimestamp = (long)response.metadata;
            long newTimestamp = ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds();
            long difference   = newTimestamp - oldTimestamp;

            EmbedResponse.Builder builder = new EmbedResponse.Builder(EmbedResponseTemplate.Empty);
            builder.SetTitle($"Pong!\r\nMy latency is {difference}ms!");

            float latencySeverity = (difference / MAX_LATENCY);
            byte  r = (byte)(latencySeverity > MAX_LATENCY ? byte.MaxValue : (latencySeverity * byte.MaxValue));

            builder.SetColor(r, (byte)(byte.MaxValue - r), 0);

            responseSentArgs.Modify(builder.Build());
        }