From 1d671c055971bb9d0c30977deba94220d79fb2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Thu, 7 Jul 2022 16:23:48 +0800 Subject: [PATCH] fix: from.id reflect --- event.go | 3 +++ rule.go | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/event.go b/event.go index fec0920..38ff064 100644 --- a/event.go +++ b/event.go @@ -18,6 +18,8 @@ type Event struct { UpdateID int // Value is the non-null field value in Update Value any + // value is the reflect value of Value + value reflect.Value } func (tc *TelegramClient) processEvent(update tgba.Update) { @@ -45,6 +47,7 @@ func (tc *TelegramClient) processEvent(update tgba.Update) { Type: tp, UpdateID: update.UpdateID, Value: f.Interface(), + value: f, }, State: State{}, Caller: tc, diff --git a/rule.go b/rule.go index 4e998f3..abfb87f 100644 --- a/rule.go +++ b/rule.go @@ -2,7 +2,6 @@ package rei import ( "fmt" - "reflect" "strconv" "strings" "unsafe" @@ -24,7 +23,7 @@ func newctrl(service string, o *ctrl.Options[*Ctx]) Rule { if !ctx.Message.Chat.IsPrivate() { gid = ctx.Message.Chat.ID } - return c.Handler(uintptr(unsafe.Pointer(ctx)), gid, reflect.ValueOf(ctx.Value).Elem().FieldByName("From").FieldByName("ID").Int()) + return c.Handler(uintptr(unsafe.Pointer(ctx)), gid, ctx.value.FieldByName("From").FieldByName("ID").Int()) } }