id = "twitter" version = "1.0.0" name = "Twitter Hand" description = "Autonomous Twitter/X manager — content creation, scheduled posting, engagement, and performance tracking" category = "communication" icon = "\U0001D54F" tools = [ "shell_exec", "file_read", "file_write", "file_list", "web_fetch", "web_search", "memory_store", "memory_recall", "schedule_create", "schedule_list", "schedule_delete", "knowledge_add_entity", "knowledge_add_relation", "knowledge_query", "event_publish", ] [routing] aliases = [ "twitter", "tweet", "x.com", "scheduled tweet", "post tweet", "twitter thread", ] weak_aliases = [ "social media post", "engagement tracking", "twitter management", "tweet scheduler", ] [[requires]] key = "TWITTER_BEARER_TOKEN" label = "Twitter API Bearer Token" requirement_type = "api_key" check_value = "TWITTER_BEARER_TOKEN" description = "A Bearer Token from the Twitter/X Developer Portal. Required for reading and posting tweets via the Twitter API v2." [requires.install] signup_url = "https://developer.twitter.com/en/portal/dashboard" docs_url = "https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens" env_example = "TWITTER_BEARER_TOKEN=AAAA...your_token_here" estimated_time = "5-10 min" steps = [ "Go to developer.twitter.com and sign in with your Twitter/X account", "Create a new Project and App (free tier is fine for reading)", "Navigate to your App's 'Keys and tokens' page", "Generate a Bearer Token under 'Authentication Tokens'", "Copy the token and set it as an environment variable", "Restart LibreFang or reload config for the change to take effect", ] [[requires]] key = "TWITTER_API_KEY" label = "Twitter API Key (Consumer Key)" requirement_type = "api_key" check_value = "TWITTER_API_KEY" optional = true description = "OAuth 1.0a Consumer Key. Optional — only needed for user-context operations (liking, retweeting, following as a specific user)." [requires.install] signup_url = "https://developer.twitter.com/en/portal/dashboard" docs_url = "https://developer.twitter.com/en/docs/authentication/oauth-1-0a" env_example = "TWITTER_API_KEY=your_api_key_here" estimated_time = "5-10 min" steps = [ "Go to developer.twitter.com and open your App settings", "Navigate to 'Keys and tokens' page", "Copy the 'API Key' (also called Consumer Key)", "Set it as TWITTER_API_KEY environment variable", ] [[requires]] key = "TWITTER_API_SECRET" label = "Twitter API Secret (Consumer Secret)" requirement_type = "api_key" check_value = "TWITTER_API_SECRET" optional = true description = "OAuth 1.0a Consumer Secret. Optional — only needed alongside TWITTER_API_KEY for user-context operations." [requires.install] signup_url = "https://developer.twitter.com/en/portal/dashboard" docs_url = "https://developer.twitter.com/en/docs/authentication/oauth-1-0a" env_example = "TWITTER_API_SECRET=your_api_secret_here" estimated_time = "2-3 min" steps = [ "On the same 'Keys and tokens' page as the API Key", "Copy the 'API Secret' (also called Consumer Secret)", "Set it as TWITTER_API_SECRET environment variable", ] [[requires]] key = "TWITTER_ACCESS_TOKEN" label = "Twitter Access Token" requirement_type = "api_key" check_value = "TWITTER_ACCESS_TOKEN" optional = true description = "OAuth 1.0a user Access Token. Optional — only needed for user-context operations." [requires.install] signup_url = "https://developer.twitter.com/en/portal/dashboard" docs_url = "https://developer.twitter.com/en/docs/authentication/oauth-1-0a" env_example = "TWITTER_ACCESS_TOKEN=your_access_token_here" estimated_time = "2-3 min" steps = [ "On the 'Keys and tokens' page, scroll to 'Authentication Tokens'", "Generate an Access Token and Secret", "Copy the Access Token", "Set it as TWITTER_ACCESS_TOKEN environment variable", ] [[requires]] key = "TWITTER_ACCESS_TOKEN_SECRET" label = "Twitter Access Token Secret" requirement_type = "api_key" check_value = "TWITTER_ACCESS_TOKEN_SECRET" optional = true description = "OAuth 1.0a user Access Token Secret. Optional — only needed alongside TWITTER_ACCESS_TOKEN for user-context operations." [requires.install] signup_url = "https://developer.twitter.com/en/portal/dashboard" docs_url = "https://developer.twitter.com/en/docs/authentication/oauth-1-0a" env_example = "TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret_here" estimated_time = "2-3 min" steps = [ "Generated alongside the Access Token above", "Copy the Access Token Secret", "Set it as TWITTER_ACCESS_TOKEN_SECRET environment variable", ] # ─── Configurable settings ─────────────────────────────────────────────────── [[settings]] key = "twitter_bearer_token" label = "Twitter Bearer Token" description = "Bearer Token from the Twitter/X Developer Portal. Required for all Twitter API operations." setting_type = "text" default = "" [[settings]] key = "twitter_style" label = "Content Style" description = "Voice and tone for your tweets" setting_type = "select" default = "professional" [[settings.options]] value = "professional" label = "Professional" [[settings.options]] value = "casual" label = "Casual" [[settings.options]] value = "witty" label = "Witty" [[settings.options]] value = "educational" label = "Educational" [[settings.options]] value = "provocative" label = "Provocative" [[settings.options]] value = "inspirational" label = "Inspirational" [[settings]] key = "post_frequency" label = "Post Frequency" description = "How often to create and post content" setting_type = "select" default = "3_daily" [[settings.options]] value = "1_daily" label = "1 per day" [[settings.options]] value = "3_daily" label = "3 per day" [[settings.options]] value = "5_daily" label = "5 per day" [[settings.options]] value = "hourly" label = "Hourly" [[settings]] key = "auto_reply" label = "Auto Reply" description = "Automatically reply to mentions and relevant conversations" setting_type = "toggle" default = "false" [[settings]] key = "auto_like" label = "Auto Like" description = "Automatically like tweets from your network and relevant content" setting_type = "toggle" default = "false" [[settings]] key = "content_topics" label = "Content Topics" description = "Topics to create content about (comma-separated, e.g. AI, startups, productivity)" setting_type = "text" default = "" [[settings]] key = "brand_voice" label = "Brand Voice" description = "Describe your unique voice (e.g. 'sarcastic founder who simplifies complex tech')" setting_type = "text" default = "" [[settings]] key = "thread_mode" label = "Thread Mode" description = "Include tweet threads (multi-tweet stories) in content mix" setting_type = "toggle" default = "true" [[settings]] key = "content_queue_size" label = "Content Queue Size" description = "Number of tweets to keep in the ready queue" setting_type = "select" default = "10" [[settings.options]] value = "5" label = "5 tweets" [[settings.options]] value = "10" label = "10 tweets" [[settings.options]] value = "20" label = "20 tweets" [[settings.options]] value = "50" label = "50 tweets" [[settings]] key = "engagement_hours" label = "Engagement Hours" description = "When to check for mentions and engage" setting_type = "select" default = "business_hours" [[settings.options]] value = "business_hours" label = "Business hours (9AM-6PM)" [[settings.options]] value = "waking_hours" label = "Waking hours (7AM-11PM)" [[settings.options]] value = "all_day" label = "All day (24/7)" [[settings]] key = "approval_mode" label = "Approval Mode" description = "Write tweets to a queue file for your review instead of posting directly" setting_type = "toggle" default = "true" # ─── Agent configuration ───────────────────────────────────────────────────── [agent] name = "twitter-hand" description = "AI Twitter/X manager — creates content, manages posting schedule, handles engagement, and tracks performance" module = "builtin:chat" provider = "default" model = "default" max_tokens = 16384 temperature = 0.7 max_iterations = 50 system_prompt = """You are Twitter Hand — an autonomous Twitter/X content manager that creates, schedules, posts, and engages 24/7. ## Phase 0 — Platform Detection & API Initialization (ALWAYS DO THIS FIRST) Detect the operating system: ``` python -c "import platform; print(platform.system())" ``` Verify Twitter API access: ``` curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" "https://api.twitter.com/2/users/me" -o twitter_me.json ``` If this fails, alert the user that the TWITTER_BEARER_TOKEN is invalid or missing. Extract your user_id and username from the response for later API calls. Recover state: 1. memory_recall `twitter_hand_state` — load previous posting history, queue, performance data 2. Read **User Configuration** for style, frequency, topics, brand_voice, approval_mode, etc. 3. file_read `twitter_queue.json` if it exists — pending tweets 4. file_read `twitter_posted.json` if it exists — posting history --- ## Phase 1 — Schedule & Strategy Setup On first run: 1. Create posting schedules using schedule_create based on `post_frequency`: - 1_daily: schedule at optimal time (10 AM) - 3_daily: schedule at 8 AM, 12 PM, 5 PM - 5_daily: schedule at 7 AM, 10 AM, 12 PM, 3 PM, 6 PM - hourly: schedule every hour during `engagement_hours` 2. Create engagement check schedule based on `engagement_hours` 3. Build content strategy from `content_topics` and `brand_voice` Store strategy in knowledge graph for consistency across sessions. --- ## Phase 2 — Content Research & Trend Analysis Before creating content: 1. Research current trends in your content_topics: - web_search "[topic] trending today" - web_search "[topic] latest news" - web_search "[topic] viral tweets" (for format inspiration, NOT copying) 2. Check what's performing well on Twitter (via API if available): ``` curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ "https://api.twitter.com/2/tweets/search/recent?query=[topic]&max_results=10&tweet.fields=public_metrics" \ -o trending_tweets.json ``` 3. Identify content gaps — what's NOT being said about the topic 4. Store trending topics and insights in knowledge graph --- ## Phase 3 — Content Generation Create content matching the configured `twitter_style` and `brand_voice`. Content types to rotate (7 types): 1. **Hot take**: Strong opinion on a trending topic (1 tweet) 2. **Thread**: Deep dive on a topic (3-10 tweets) — only if `thread_mode` enabled 3. **Tip/How-to**: Actionable advice (1-2 tweets) 4. **Question**: Engagement-driving question (1 tweet) 5. **Curated share**: Link + insight from web research (1 tweet) 6. **Story/Anecdote**: Personal-style narrative (1-3 tweets) 7. **Data/Stat**: Interesting data point with commentary (1 tweet) Style guidelines by `twitter_style`: - **Professional**: Clear, authoritative, industry-focused. Use data. Minimal emojis. - **Casual**: Conversational, relatable, lowercase okay. Natural emojis. - **Witty**: Clever wordplay, unexpected angles, humor. Punchy sentences. - **Educational**: Step-by-step, "Here's what most people get wrong about X". Numbered lists. - **Provocative**: Contrarian takes, challenges assumptions. "Unpopular opinion:" format. - **Inspirational**: Vision-focused, empowering, story-driven. Strategic emoji use. Tweet rules: - Stay under 280 characters (hard limit) - Front-load the hook — first line must grab attention - Use line breaks for readability - Hashtags: 0-2 max (overuse looks spammy) - For threads: first tweet must stand alone as a compelling hook Generate enough tweets to fill the `content_queue_size`. --- ## Phase 4 — Content Queue & Posting If `approval_mode` is ENABLED: 1. Write generated tweets to `twitter_queue.json`: ```json [{"id": "q_001", "content": "tweet text", "type": "hot_take", "created": "timestamp", "status": "pending"}] ``` 2. Write a human-readable `twitter_queue_preview.md` for easy review 3. event_publish "twitter_queue_updated" with queue size 4. Do NOT post — wait for user to approve via the queue file If `approval_mode` is DISABLED: 1. Post each tweet at its scheduled time via the API: ``` curl -s -X POST "https://api.twitter.com/2/tweets" \ -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ -H "Content-Type: application/json" \ -d '{"text": "tweet content here"}' \ -o tweet_response.json ``` 2. For threads, post sequentially using `reply.in_reply_to_tweet_id`: ``` curl -s -X POST "https://api.twitter.com/2/tweets" \ -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ -H "Content-Type: application/json" \ -d '{"text": "thread tweet 2", "reply": {"in_reply_to_tweet_id": "FIRST_TWEET_ID"}}' \ -o thread_response.json ``` 3. Log each posted tweet to `twitter_posted.json` 4. Respect rate limits: max 300 tweets per 3 hours (Twitter v2 limit) --- ## Phase 5 — Engagement During `engagement_hours`, if `auto_reply` or `auto_like` is enabled: Check mentions: ``` curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ "https://api.twitter.com/2/users/USER_ID/mentions?max_results=10&tweet.fields=public_metrics,created_at" \ -o mentions.json ``` If `auto_reply` is enabled: - Read each mention - Generate a contextually relevant reply matching your `twitter_style` - In `approval_mode`: add replies to queue. Otherwise post directly. - NEVER argue, insult, or engage with trolls — ignore negative engagement If `auto_like` is enabled: ``` curl -s -X POST "https://api.twitter.com/2/users/USER_ID/likes" \ -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ -H "Content-Type: application/json" \ -d '{"tweet_id": "TWEET_ID"}' ``` - Like tweets from people who engage with you - Like relevant content from people in your network - Max 50 likes per cycle to avoid rate limits --- ## Phase 6 — Performance Tracking Check performance of recent tweets: ``` curl -s -H "Authorization: Bearer $TWITTER_BEARER_TOKEN" \ "https://api.twitter.com/2/tweets?ids=ID1,ID2,ID3&tweet.fields=public_metrics" \ -o performance.json ``` Track metrics per tweet: - Impressions, likes, retweets, replies, quote tweets, bookmarks - Engagement rate = (likes + retweets + replies) / impressions Analyze patterns: - Which content types perform best? - Which posting times get most engagement? - Which topics resonate most? Store insights in knowledge graph for future content optimization. --- ## Phase 7 — State Persistence 1. Save tweet queue to `twitter_queue.json` 2. Save posting history to `twitter_posted.json` 3. memory_store `twitter_hand_state`: last_run, queue_size, total_posted, performance_data 4. Update dashboard stats: - memory_store `twitter_hand_tweets_posted` — total tweets ever posted - memory_store `twitter_hand_replies_sent` — total replies - memory_store `twitter_hand_queue_size` — current queue size - memory_store `twitter_hand_engagement_rate` — average engagement rate --- ## Guidelines - NEVER post content that could be defamatory, discriminatory, or harmful - NEVER impersonate other people or accounts - NEVER post private information about anyone - NEVER engage with trolls or toxic accounts — block and move on - Respect Twitter's Terms of Service and API rate limits at all times - In `approval_mode` (default), ALWAYS write to queue — NEVER post without user review - If the API returns an error, log it and retry once — then skip and alert the user - Keep a healthy content mix — don't spam the same content type - If the user messages you, pause posting and respond to their question - Monitor your API rate limit headers and back off when approaching limits - When in doubt about a tweet, DON'T post it — add it to the queue with a note """ [dashboard] [[dashboard.metrics]] label = "Tweets Posted" memory_key = "twitter_hand_tweets_posted" format = "number" [[dashboard.metrics]] label = "Replies Sent" memory_key = "twitter_hand_replies_sent" format = "number" [[dashboard.metrics]] label = "Queue Size" memory_key = "twitter_hand_queue_size" format = "number" [[dashboard.metrics]] label = "Engagement Rate" memory_key = "twitter_hand_engagement_rate" format = "percentage" # ─── Token & Performance Metadata ───────────────────────────────────────────── [metadata] frequency = "hourly" token_consumption = "medium" default_active = false # ─── Internationalization (optional) ───────────────────────────────────────── # All i18n sections are optional. Without them, the English values above are used. # To localize, add [i18n.LANG] sections (e.g. zh, ja, ko, es, fr, de). # Settings translations are also optional — omit to keep English labels. # ─── Chinese (简体中文) ──────────────────────────────────────────────────── [i18n.zh] name = "Twitter Hand" description = "自主 Twitter/X 管理——内容创作、定时发布、互动管理和效果追踪" category = "通信" [i18n.zh.settings.twitter_bearer_token] label = "Twitter Bearer Token" description = "Twitter/X 开发者平台的 Bearer Token,所有 Twitter API 操作均需此凭证。" [i18n.zh.settings.twitter_style] label = "内容风格" description = "推文的语气和风格" [i18n.zh.settings.post_frequency] label = "发布频率" description = "创建和发布内容的频率" [i18n.zh.settings.auto_reply] label = "自动回复" description = "自动回复提及和相关对话" [i18n.zh.settings.auto_like] label = "自动点赞" description = "自动为人脉网络中的推文和相关内容点赞" [i18n.zh.settings.content_topics] label = "内容主题" description = "要创作内容的主题(逗号分隔,例如 AI、创业、效率提升)" [i18n.zh.settings.brand_voice] label = "品牌调性" description = "描述你的独特风格(例如"用幽默简化复杂技术的创业者")" [i18n.zh.settings.thread_mode] label = "推文串模式" description = "在内容组合中加入推文串(多条推文组成的故事)" [i18n.zh.settings.content_queue_size] label = "内容队列大小" description = "待发队列中保持的推文数量" [i18n.zh.settings.engagement_hours] label = "互动时段" description = "检查提及和互动的时间段" [i18n.zh.settings.approval_mode] label = "审批模式" description = "将推文写入队列等待审核,而非直接发布" # ─── Spanish (Español) ──────────────────────────────────────────────────── [i18n.es] name = "Hand de Twitter" description = "Gestor autónomo de Twitter/X — creación de contenido, publicación programada, interacciones y seguimiento de rendimiento" category = "Comunicación" [i18n.es.settings.twitter_bearer_token] label = "Token Bearer de Twitter" description = "Token Bearer del Portal de Desarrolladores de Twitter/X. Requerido para todas las operaciones de la API de Twitter." [i18n.es.settings.twitter_style] label = "Estilo de contenido" description = "Voz y tono para tus tweets" [i18n.es.settings.post_frequency] label = "Frecuencia de publicación" description = "Con qué frecuencia crear y publicar contenido" [i18n.es.settings.auto_reply] label = "Respuesta automática" description = "Responder automáticamente a menciones y conversaciones relevantes" [i18n.es.settings.auto_like] label = "Me gusta automático" description = "Dar me gusta automáticamente a tweets de tu red y contenido relevante" [i18n.es.settings.content_topics] label = "Temas de contenido" description = "Temas sobre los que crear contenido (separados por comas, ej. IA, startups, productividad)" [i18n.es.settings.brand_voice] label = "Voz de marca" description = "Describe tu voz única (ej. 'fundador sarcástico que simplifica la tecnología compleja')" [i18n.es.settings.thread_mode] label = "Modo de hilos" description = "Incluir hilos de tweets (historias de múltiples tweets) en la mezcla de contenido" [i18n.es.settings.content_queue_size] label = "Tamaño de la cola de contenido" description = "Número de tweets a mantener en la cola preparada" [i18n.es.settings.engagement_hours] label = "Horario de interacción" description = "Cuándo verificar menciones e interactuar" [i18n.es.settings.approval_mode] label = "Modo de aprobación" description = "Escribir los tweets en un archivo de cola para revisión en lugar de publicarlos directamente" # ─── Japanese (日本語) ──────────────────────────────────────────────────── [i18n.ja] name = "Twitter Hand" description = "自律型Twitter/Xマネージャー——コンテンツ作成、スケジュール投稿、エンゲージメント管理、パフォーマンス追跡" category = "コミュニケーション" [i18n.ja.settings.twitter_bearer_token] label = "Twitter Bearerトークン" description = "Twitter/X開発者ポータルのBearerトークン。すべてのTwitter API操作に必要です。" [i18n.ja.settings.twitter_style] label = "コンテンツスタイル" description = "ツイートの語調とスタイル" [i18n.ja.settings.post_frequency] label = "投稿頻度" description = "コンテンツの作成・投稿の頻度" [i18n.ja.settings.auto_reply] label = "自動返信" description = "メンションや関連する会話に自動で返信する" [i18n.ja.settings.auto_like] label = "自動いいね" description = "ネットワーク内のツイートや関連コンテンツに自動でいいねする" [i18n.ja.settings.content_topics] label = "コンテンツトピック" description = "作成するコンテンツのトピック(カンマ区切り、例: AI、スタートアップ、生産性)" [i18n.ja.settings.brand_voice] label = "ブランドボイス" description = "あなた独自の語り口を記述(例:「複雑なテクノロジーをわかりやすく伝える皮肉屋の起業家」)" [i18n.ja.settings.thread_mode] label = "スレッドモード" description = "コンテンツミックスにツイートスレッド(複数ツイートで構成するストーリー)を含める" [i18n.ja.settings.content_queue_size] label = "コンテンツキューサイズ" description = "準備キューに保持するツイートの数" [i18n.ja.settings.engagement_hours] label = "エンゲージメント時間帯" description = "メンションの確認とエンゲージメントを行う時間帯" [i18n.ja.settings.approval_mode] label = "承認モード" description = "ツイートを直接投稿せず、レビュー用のキューファイルに書き出す" # ─── French (Français) ──────────────────────────────────────────────────── [i18n.fr] name = "Hand Twitter" description = "Gestionnaire Twitter/X autonome — création de contenu, publication programmée, interactions et suivi des performances" category = "Communication" [i18n.fr.settings.twitter_bearer_token] label = "Jeton Bearer Twitter" description = "Jeton Bearer du Portail Développeurs Twitter/X. Requis pour toutes les opérations de l'API Twitter." [i18n.fr.settings.twitter_style] label = "Style de contenu" description = "Ton et style pour vos tweets" [i18n.fr.settings.post_frequency] label = "Fréquence de publication" description = "Fréquence de création et de publication de contenu" [i18n.fr.settings.auto_reply] label = "Réponse automatique" description = "Répondre automatiquement aux mentions et conversations pertinentes" [i18n.fr.settings.auto_like] label = "Like automatique" description = "Aimer automatiquement les tweets de votre réseau et le contenu pertinent" [i18n.fr.settings.content_topics] label = "Sujets de contenu" description = "Sujets sur lesquels créer du contenu (séparés par des virgules, ex. IA, startups, productivité)" [i18n.fr.settings.brand_voice] label = "Voix de marque" description = "Décrivez votre voix unique (ex. 'fondateur sarcastique qui simplifie la technologie complexe')" [i18n.fr.settings.thread_mode] label = "Mode fil de discussion" description = "Inclure des fils de tweets (histoires à plusieurs tweets) dans le mix de contenu" [i18n.fr.settings.content_queue_size] label = "Taille de la file de contenu" description = "Nombre de tweets à maintenir dans la file d'attente préparée" [i18n.fr.settings.engagement_hours] label = "Heures d'engagement" description = "Quand vérifier les mentions et interagir" [i18n.fr.settings.approval_mode] label = "Mode d'approbation" description = "Écrire les tweets dans un fichier d'attente pour révision au lieu de les publier directement" # ─── German (Deutsch) ──────────────────────────────────────────────────── [i18n.de] name = "Twitter-Hand" description = "Autonomer Twitter/X-Manager — Content-Erstellung, geplante Veröffentlichung, Engagement-Management und Performance-Tracking" category = "Kommunikation" [i18n.de.settings.twitter_bearer_token] label = "Twitter Bearer-Token" description = "Bearer-Token vom Twitter/X-Entwicklerportal. Erforderlich für alle Twitter-API-Operationen." [i18n.de.settings.twitter_style] label = "Inhaltsstil" description = "Ton und Stil für Ihre Tweets" [i18n.de.settings.post_frequency] label = "Veröffentlichungshäufigkeit" description = "Wie oft Inhalte erstellt und veröffentlicht werden" [i18n.de.settings.auto_reply] label = "Automatische Antwort" description = "Automatisch auf Erwähnungen und relevante Gespräche antworten" [i18n.de.settings.auto_like] label = "Automatisches Like" description = "Tweets im Netzwerk und relevante Inhalte automatisch liken" [i18n.de.settings.content_topics] label = "Inhaltsthemen" description = "Themen für die Content-Erstellung (kommagetrennt, z.B. KI, Startups, Produktivität)" [i18n.de.settings.brand_voice] label = "Markenstimme" description = "Beschreiben Sie Ihre einzigartige Stimme (z.B. 'sarkastischer Gründer, der komplexe Technologie vereinfacht')" [i18n.de.settings.thread_mode] label = "Thread-Modus" description = "Tweet-Threads (mehrteilige Tweet-Geschichten) in den Content-Mix aufnehmen" [i18n.de.settings.content_queue_size] label = "Größe der Content-Warteschlange" description = "Anzahl der Tweets in der vorbereiteten Warteschlange" [i18n.de.settings.engagement_hours] label = "Engagement-Zeiten" description = "Wann Erwähnungen geprüft und interagiert werden soll" [i18n.de.settings.approval_mode] label = "Genehmigungsmodus" description = "Tweets in eine Warteschlangendatei zur Überprüfung schreiben, anstatt sie direkt zu veröffentlichen" # ─── Korean (한국어) ──────────────────────────────────────────────────── [i18n.ko] name = "Twitter Hand" description = "자율 Twitter/X 관리 — 콘텐츠 제작, 예약 게시, 소통 관리 및 성과 추적" category = "커뮤니케이션" [i18n.ko.settings.twitter_bearer_token] label = "Twitter Bearer 토큰" description = "Twitter/X 개발자 포털의 Bearer 토큰. 모든 Twitter API 작업에 필수." [i18n.ko.settings.twitter_style] label = "콘텐츠 스타일" description = "트윗의 어조와 스타일" [i18n.ko.settings.post_frequency] label = "게시 빈도" description = "콘텐츠를 작성하고 게시하는 주기" [i18n.ko.settings.auto_reply] label = "자동 답글" description = "멘션 및 관련 대화에 자동으로 답글 작성" [i18n.ko.settings.auto_like] label = "자동 좋아요" description = "네트워크 내 트윗 및 관련 콘텐츠에 자동으로 좋아요" [i18n.ko.settings.content_topics] label = "콘텐츠 주제" description = "콘텐츠를 작성할 주제 (쉼표로 구분, 예: AI, 스타트업, 생산성)" [i18n.ko.settings.brand_voice] label = "브랜드 보이스" description = "고유한 스타일을 설명 (예: '복잡한 기술을 쉽게 풀어내는 유머러스한 창업자')" [i18n.ko.settings.thread_mode] label = "스레드 모드" description = "콘텐츠 구성에 트윗 스레드 (다중 트윗 스토리) 포함" [i18n.ko.settings.content_queue_size] label = "콘텐츠 대기열 크기" description = "준비 대기열에 유지할 트윗 수" [i18n.ko.settings.engagement_hours] label = "소통 시간대" description = "멘션 확인 및 소통 활동을 수행하는 시간대" [i18n.ko.settings.approval_mode] label = "승인 모드" description = "트윗을 직접 게시하지 않고 대기열 파일에 기록하여 검토"