Skip to content

Instantly share code, notes, and snippets.

View gokusenz's full-sized avatar
🎯
Focusing

Nattawut Ruangvivattanaroj gokusenz

🎯
Focusing
View GitHub Profile
@gokusenz
gokusenz / gog.md
Created February 19, 2026 11:58
OpenClaw: วิธีการเชื่อมต่อ OpenClaw และ Google Workspace

เอกสารนี้เป็นคำแปลจากต้นฉบับภาษาอังกฤษที่ผู้ใช้ให้มา

รายการตรวจสอบทางเทคนิคสำหรับเดโม: การเชื่อมต่อ OpenClaw และ Google Workspace

คู่มือนี้สรุปขั้นตอนภาพรวมในการให้สิทธิ์และเชื่อมต่อ OpenClaw Gateway เข้ากับเครื่องมือของ Google Workspace โดยใช้สภาพแวดล้อมการทำงานที่ปลอดภัยบนเครื่อง local

1. Google Cloud และการยืนยันตัวตน

  • การเตรียมโปรเจกต์: สร้างโปรเจกต์เฉพาะใน Google Cloud Console และเปิดใช้งาน Gmail API และ Google Calendar API
  • ข้อมูลรับรองความปลอดภัย: ตั้งค่าหน้าจอขอความยินยอม OAuth (OAuth consent screen) และดาวน์โหลดไฟล์ credentials.json สำหรับแอปพลิเคชันบนเดสก์ท็อป
@gokusenz
gokusenz / openclaw.md
Created February 9, 2026 14:20
วิธีเพิ่ม Agent ตัวที่สองใน OpenClaw พร้อมกับ Telegram Bot ของตัวเอง

วิธีเพิ่ม Agent ตัวที่สองใน OpenClaw พร้อมกับ Telegram Bot ของตัวเอง

หนึ่ง Gateway, สอง Agent, สอง Telegram Bot — แต่ละตัวมีบุคลิก, พื้นที่ทำงาน (workspace), และประวัติการสนทนาเป็นของตัวเอง และส่วนที่ดีที่สุดคือ Agent ที่คุณมีอยู่แล้วจะจัดการเรื่องยากๆ ทั้งหมดให้เอง

สิ่งที่คุณจะได้หลังจากทำตามขั้นตอน

  • Agent 1 (Agent ที่มีอยู่) → เชื่อมต่อกับ Telegram Bot ปัจจุบันของคุณ
  • Agent 2 (Agent ใหม่) → เชื่อมต่อกับ Telegram Bot ตัวใหม่เอี่ยม
  • ทั้งสองตัวทำงานบนเครื่องเดียวกันและใช้ Gateway process เดียวกัน
  • แยกการทำงานกันโดยสมบูรณ์: มี workspace, session, และ persona (บุคลิก) แยกกัน
================================================================================
🔥 DEMO: JSON vs TOON - เห็นผลชัดเจน!
================================================================================
┌────────────────────────────────────────────────────────────────────────────┐
│ 📄 JSON Format (Pretty) │
├────────────────────────────────────────────────────────────────────────────┤
│ { │
│ "products": [ │
{
"nodes": [
{
"name": "@Get Issue",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
1050,
590
@gokusenz
gokusenz / telegram-super-agent.json
Created July 4, 2025 05:27
🚀 “Telegram Super-Agent” รวม Text + Voice + Image ไว้ใน Workflow เดียว
{
"id": "8jDt77Y4FaV6ARYG",
"meta": {
"instanceId": "31e69f7f4a77bf465b805824e303232f0227212ae922d12133a0f96ffeab4fef"
},
"name": "\ud83e\udd16 Telegram Messaging Agent for Text/Audio/Images",
"tags": [],
"nodes": [
{
"id": "1656be7a-7a27-47f3-b511-3634a65a97a2",
@gokusenz
gokusenz / th-address.json
Created November 20, 2023 04:30 — forked from mennwebs/th-address.json
Thai Address from Postal Code - JSON
This file has been truncated, but you can view the full file.
[
{
"zipCode": "10100",
"subDistrictList": [
{
"subDistrictId": "100801",
"districtId": "1008",
"provinceId": "10",
"subDistrictName": "ป้อมปราบ"
const { ethers } = require('ethers');
const provider = new ethers.providers.JsonRpcProvider('https://bsc-dataseed.binance.org/');
const BEP20 = {
BUSD: '0xe9e7cea3dedca5984780bafc599bd69add087d56',
DOP: '0x844fa82f1e54824655470970f7004dd90546bb28',
};
const Contract = {
router: new ethers.Contract(
# -*- coding: utf-8 -*-
from linepy import *
import sys
try:
token = "F3iWbBNmXS7aPitUypbb.75Zncsa61HrO8lDHlrY9oW.l5XSOhru+suz1h1cN+pYIGvf+NMwOzHC54qqudKYW94="
line = LINE(token)
except Exception as e:
/**
* A Simple Wrapper for LINE MEssanger Notify
*/
const request = require("request-promise");
const fs = require("fs");
const config = {
BASE_API_URL : "https://notify-api.line.me",
NOTIFY_API_QUERY_PATH : "/api/notify",
STATUS_API_URL_QUERY_PATH : "/api/status",
const restoreLocalStorage = async () => {
let json = JSON.parse(fs.readFileSync(`${__dirname}/local.json`));
await page.evaluate(json => {
localStorage.clear();
for (let key in json)
localStorage.setItem(key, json[key]);
}, json);
}
const saveLocalStorage = async () => {