| 438 | task_id, cid, key, msg, include, regexp, exact, case_sensitive, |
| 439 | ignore_forward, reply, delete_msg, ban, restrict, delay_delete, source_delay_delete |
| 440 | ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) |
| 441 | `); |
| 442 | |
| 443 | const deleteStmt = db.prepare("DELETE FROM keyword_tasks"); |
| 444 | deleteStmt.run(); |
| 445 | |
| 446 | for (const task of this.tasks) { |
| 447 | stmt.run( |
| 448 | task.task_id, |
| 449 | task.cid, |
| 450 | task.key, |
| 451 | task.msg, |
| 452 | task.include ? 1 : 0, |
| 453 | task.regexp ? 1 : 0, |
| 454 | task.exact ? 1 : 0, |
| 455 | task.case ? 1 : 0, |
| 456 | task.ignore_forward ? 1 : 0, |
| 457 | task.reply ? 1 : 0, |
| 458 | task.delete ? 1 : 0, |
| 459 | task.ban, |
| 460 | task.restrict, |
| 461 | task.delay_delete, |
| 462 | task.source_delay_delete |
| 463 | ); |
| 464 | } |
| 465 | } |
| 466 | |
| 467 | loadFromDB(): void { |
| 468 | if (!db) return; |
| 469 | |
| 470 | const stmt = db.prepare("SELECT * FROM keyword_tasks"); |
| 471 | const rows = stmt.all() as any[]; |
| 472 | |
| 473 | this.tasks = rows.map( |
| 474 | (row) => |
| 475 | new KeywordTask({ |