ワンクリックで
GoYaCodeDevUtils
GoYaCodeDevUtils には YaCodeDev から収集した 23 個の skills があり、リポジトリ単位の職業カバレッジとサイト内 skill 詳細ページを表示します。
このリポジトリの skills
Index of every GoYaCodeDevUtils utility package (config, errors, logging, caching, rate limiting, backoff, hashing, gzip, RSA, feature flags, FSM, thread-safe collections, locales, Telegram bot stack) with a pointer to each package's own skill. Use before hand-rolling infrastructure code GoYaCodeDevUtils may already provide.
High-level Telegram bot framework on top of gotd/td - router/dispatcher with filters and middleware, FSM-aware routing, per-user localization, sequential-update scheduling, and a message-send queue. Use as the starting point for any Telegram bot.
Thin wrapper around gotd/td's telegram.Client adding background-connect-with-retry, bot-token authorization, updates.Manager wiring, and SOCKS5/MTProto proxy helpers. Use for direct low-level Telegram client control instead of raw gotd/td.
Redis-backed persistence for gotd/td's updates.Manager state (pts/qts/seq/date via RedisJSON) plus channel/user access-hash bookkeeping, and a GORM/AES-encrypted session-storage layer. Use for any yatgclient/yatgbot state or session persistence.
Generic pluggable key-value cache abstraction with interchangeable in-memory and Redis backends, hash-oriented API. Use for any caching/session-store need instead of hand-rolling a map or a bare redis.Client call.
Loads JSON locale files into a nested key-tree with lookup, {placeholder} formatting, JSON serving, language-tag normalization, and Go-struct codegen. Use for any i18n/localization instead of hand-rolled JSON locale loading.
Bidirectional converter between a custom Markdown-like syntax and Telegram (gotd) rich-text MessageEntityClass formatting, with correct UTF-16LE offsets. Use as the ParseMode for any yatgbot/gotd-based bot.
Simple exponential back-off strategy for retry loops. Use instead of a hand-rolled sleep-and-double retry loop.
Gzip compress/decompress helpers for []byte payloads with a decompression size cap (zip-bomb protection). Use instead of the stdlib compress/gzip package directly.
Structured, logrus-backed Logger interface threaded through nearly every GoYaCodeDevUtils package, plus context helpers and GORM/Gin adapters that route those frameworks' output through the same Logger. Use as the standard logger type instead of the stdlib log package or a raw logrus.Logger.
Fixed-window rate limiter backed by any yacache.Cache, keyed by (id, group). Use instead of hand-rolling a request-counting rate limit.
Generic mutex-protected set[K] with union/difference/intersect/symmetric-difference. Use instead of a map[K]struct{} guarded by a hand-rolled mutex.
Generic mutex-protected map[K]V with convenience methods for concurrent access. Use instead of a raw map guarded by a hand-rolled sync.Mutex/sync.RWMutex.
Load typed Go config structs from environment variables, .env, and .yatools/<name>.json overlays via reflection. Use for any app/tool config loading instead of hand-rolled os.Getenv calls.
Generic string-to-typed-value parsing for scalars, arrays, and maps, including custom types via Unmarshalable/encoding.TextUnmarshaler. Foundational package powering config; use instead of hand-rolled strconv/strings.Split parsing.
Reflection-based bit-packing of a struct's bool fields into/out of a single unsigned integer Flags field. Use when a struct's bools should serialize/compare as one integer.
Serialize/deserialize arbitrary Go values using Gob or MessagePack, plus base64 string<->bytes helpers. Use instead of hand-rolling encoding/gob or msgpack calls directly.
Structured error type with an HTTP-style status code and wrap-chain traceback. The standard error return type across GoYaCodeDevUtils and YaCodeDev services — use instead of the builtin error/fmt.Errorf for anything non-trivial.
Pack/unpack a list of individual bit-index positions into/from an unsigned integer. Use for named bit-constant flag sets instead of hand-rolled bit-shift arithmetic.
Finite-state-machine storage abstraction (state plus JSON-marshalled state data) on top of yacache, keyed per-entity. Use for per-user/per-chat conversational or workflow state instead of hand-rolled state tracking.
Gin middleware that transparently encrypts/decrypts a typed struct carried in an HTTP header via RSA-OAEP + gzip + MessagePack + base64. Use for any Gin route that needs an encrypted request/response header payload.
Generic helper to build salted, optionally time-windowed hashes (e.g. short-lived tokens or request signatures) around any hash function. Use instead of hand-rolling HMAC/token expiry logic.
RSA utilities - deterministic key generation, flexible private-key parsing (PEM/DER/base64), and chunked RSA-OAEP encrypt/decrypt for arbitrary-length data. Use instead of hand-rolling crypto/rsa key handling.