diff --git a/def.go b/def.go index e296d3f..52f152a 100644 --- a/def.go +++ b/def.go @@ -334,10 +334,14 @@ type JobPayloadGetHammerTime struct { type JobPayloadSetDef struct { } -type JobPayloadFwdMsg struct { +type JobPayloadMsgFwd struct { ChatID64 int64 `json:"chat_id"` } +type JobPayloadMsgDel struct { + ObjMsgID64 int64 `json:"obj_msg_id"` +} + type JobPayloadMsgRefresh struct { ObjID64 int64 `json:"obj_id"` } diff --git a/job.go b/job.go index 44c9ec3..15cc352 100644 --- a/job.go +++ b/job.go @@ -528,6 +528,44 @@ func jobMsgClient(j Job) { return } +func jobMsgFwd(j Job) { + var p JobPayloadMsgFwd + err := setJobStart(j.ID64) + logOnError(err, "jobFwdMsg : setJobStart") + + err = json.Unmarshal(j.Payload, &p) + logOnError(err, "jobFwdMsg : Unmarshal payload") + + msg, err := getObjMsg(j.Trigger) + logOnError(err, "jobFwdMsg : getObjMsg msg") + + clientFwdCWMsg(j.UserID64, msg.ID64, msg.ChatID64, p.ChatID64) + + err = setJobDone(j.ID64) + logOnError(err, "jobFwdMsg : setJobDone") + + return +} + +func jobMsgDel(j Job) { + var p JobPayloadMsgDel + err := setJobStart(j.ID64) + logOnError(err, "jobMsgDel : setJobStart") + + err = json.Unmarshal(j.Payload, &p) + logOnError(err, "jobMsgDel : Unmarshal payload") + + msg, err := getObjMsg(j.Trigger) + logOnError(err, "jobMsgDel : getObjMsg msg") + + clientFwdCWMsg(j.UserID64, msg.ID64, msg.ChatID64, p.ChatID64) + + err = setJobDone(j.ID64) + logOnError(err, "jobMsgDel : setJobDone") + + return +} + func jobBackupExport(j Job) { var p JobPayloadBackupExport err := setJobStart(j.ID64) @@ -1360,25 +1398,6 @@ func jobGWithdraw(j Job) { return } -func jobFwdMsg(j Job) { - var p JobPayloadFwdMsg - err := setJobStart(j.ID64) - logOnError(err, "jobFwdMsg : setJobStart") - - err = json.Unmarshal(j.Payload, &p) - logOnError(err, "jobFwdMsg : Unmarshal payload") - - msg, err := getObjMsg(j.Trigger) - logOnError(err, "jobFwdMsg : getObjMsg msg") - - clientFwdCWMsg(j.UserID64, msg.ID64, msg.ChatID64, p.ChatID64) - - err = setJobDone(j.ID64) - logOnError(err, "jobFwdMsg : setJobDone") - - return -} - func jobSetDef(j Job) { var p JobPayloadSetDef err := setJobStart(j.ID64) diff --git a/workers.go b/workers.go index 4750179..7af71ab 100644 --- a/workers.go +++ b/workers.go @@ -559,6 +559,10 @@ func JobWorker(id int, jobs <-chan Job) { jobMsgClient(j) case cacheObjSubType[`job_msg_refresh`]: jobMsgRefresh(j) + case cacheObjSubType[`job_msg_fwd`]: + jobMsgFwd(j) + case cacheObjSubType[`job_msg_del`]: + jobMsgDelete(j) case cacheObjSubType[`job_backup_export`]: jobBackupExport(j) case cacheObjSubType[`job_backup_import`]: @@ -575,8 +579,6 @@ func JobWorker(id int, jobs <-chan Job) { jobVaultUserStatus(j) case cacheObjSubType[`job_vault_item_status`]: jobVaultItemStatus(j) - case cacheObjSubType[`job_msg_fwd`]: - jobFwdMsg(j) case cacheObjSubType[`job_set_def`]: jobSetDef(j) case cacheObjSubType[`job_get_hammer_time`]: