{"id":14726,"date":"2024-12-31T03:09:28","date_gmt":"2024-12-30T18:09:28","guid":{"rendered":"https:\/\/jyakusyadansei.com\/?p=14726"},"modified":"2024-12-31T10:08:16","modified_gmt":"2024-12-31T01:08:16","slug":"%e3%80%90fx%e3%80%91%f0%9f%8c%9f-%e3%81%8f%e3%81%begpt%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e6%a7%8b%e7%af%89%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%be%e3%81%a8%e3%82%81","status":"publish","type":"post","link":"https:\/\/jyakusyadansei.com\/?p=14726","title":{"rendered":"\u3010FX\u3011\ud83c\udf1f \u304f\u307eGPT\u30b7\u30b9\u30c6\u30e0\u69cb\u7bc9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u307e\u3068\u3081 \ud83c\udf1fVer0.1"},"content":{"rendered":"<p>\u305d\u3060\u3057\u304c\u4f55\u3092\u3057\u305f\u3044\u304b\u2026\u3064\u307e\u308a\u6563\u9038\u3057\u305f\u30b7\u30b0\u30ca\u30eb\u306e\u7d71\u5408\u3067\u3059\u3002<\/p>\n<p>\u3084\u308a\u305f\u3044\u3053\u3068\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3059\u3002\u3042\u3068\u306f\u30c6\u30a4\u30b9\u30c8\u3092\u5408\u308f\u305b\u305f\u3044\u3002\u30cb\u30e5\u30fc\u30b9\u3082\u3061\u3083\u3093\u3068\u5206\u3051\u305f\u3044\u3002<br \/>\n\u3068\u3044\u3046\u3068\u3053\u308d\u3092\u3069\u3046\u51e6\u7406\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u8ab2\u984c\u306b\u5411\u304d\u5408\u3044\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<article class=\"w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]\" dir=\"auto\" data-testid=\"conversation-turn-85\" data-scroll-anchor=\"true\">\n<div class=\"m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5\">\n<div class=\"mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]\">\n<div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\">\n<div class=\"flex-col gap-1 md:gap-3\">\n<div class=\"flex max-w-full flex-col flex-grow\">\n<div class=\"min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"2bd35993-9e85-4d4b-ba3b-bb86dd9c48b1\" data-message-model-slug=\"gpt-4o\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose w-full break-words dark:prose-invert light\">\n<h2>\ud83c\udf1f <strong>\u304f\u307eGPT\u30b7\u30b9\u30c6\u30e0\u69cb\u7bc9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u307e\u3068\u3081<\/strong> \ud83c\udf1f<\/h2>\n<h3>\ud83d\udc3e <strong>\u6982\u8981<\/strong><\/h3>\n<p>\u300c\u304f\u307eGPT\u30b7\u30b9\u30c6\u30e0\u69cb\u7bc9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u3067\u306f\u3001\u91d1\u878d\u95a2\u9023\u306e\u30c8\u30ec\u30fc\u30c9\u30b7\u30b0\u30ca\u30eb\u3084\u30cb\u30e5\u30fc\u30b9\u3092\u52b9\u7387\u7684\u306b\u7ba1\u7406\u30fb\u914d\u4fe1\u3059\u308b\u4ed5\u7d44\u307f\u3092\u69cb\u7bc9\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306e\u7279\u5fb4\u306f\u4ee5\u4e0b\u306e\u901a\u308a\uff1a<\/p>\n<ol>\n<li><strong>\u30ab\u30c6\u30b4\u30ea\u5206\u3051<\/strong>\uff1a\n<ul>\n<li><strong>\u91d1\uff08\u30b4\u30fc\u30eb\u30c9\/XAUUSD\uff09<\/strong><\/li>\n<li><strong>FX\uff08\u5916\u56fd\u70ba\u66ff\/\u30c9\u30eb\u5186\u3001\u30e6\u30fc\u30ed\u5186\u306a\u3069\uff09<\/strong><\/li>\n<li><strong>\u30cb\u30e5\u30fc\u30b9\uff08\u6307\u6a19\u5831\u9053\u3084\u30b3\u30e9\u30e0\u8a18\u4e8b\uff09<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u304f\u307e\u8a00\u8a9e\u51e6\u7406<\/strong>\uff1a\n<ul>\n<li>\u91d1\u3068FX\u306b\u306f\u3001<strong>\u30ea\u30d7\u30e9\u30a4\u30e1\u30c3\u30bb\u30fc\u30b8\u306eID\u7ba1\u7406<\/strong>\u3068\u7d50\u679c\u306b\u5fdc\u3058\u305f\u52d5\u7684\u306a\u304f\u307e\u8a9e\u3092\u751f\u6210\u3002<\/li>\n<li>\u30cb\u30e5\u30fc\u30b9\u306f\u3001\u300c<strong>\u6307\u6a19\u306e\u5ba2\u89b3\u5831\u9053<\/strong>\u300d\u3068\u300c<strong>\u4fa1\u5024\u89e3\u8aac\uff08\u30b3\u30e9\u30e0\uff09<\/strong>\u300d\u306b\u5206\u3051\u3066\u51e6\u7406\u3002<\/li>\n<\/ul>\n<\/li>\n<li><strong>Bot\u306b\u3088\u308b\u81ea\u52d5\u51e6\u7406<\/strong>\uff1a\n<ul>\n<li>\u4e00\u30ab\u6240\u306b\u5168\u3066\u306e\u30b7\u30b0\u30ca\u30eb\u3092\u96c6\u7d04\u3002<\/li>\n<li>BotFather\u3067\u8a2d\u5b9a\u3057\u305f\u30c1\u30e3\u30f3\u30cd\u30eb\u306b\u81ea\u52d5\u632f\u308a\u5206\u3051\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>\u2728 <strong>\u7d71\u5408\u7248\u30d7\u30ed\u30b0\u30e9\u30e0<\/strong><\/h3>\n<p>\u4ee5\u4e0b\u306b\u5168\u3066\u306e\u6a5f\u80fd\u3092\u7d71\u5408\u3057\u305f\u5b8c\u5168\u306a\u30b3\u30fc\u30c9\u3092\u793a\u3057\u307e\u3059\u3002\u3053\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u30c8\u30ec\u30fc\u30c9\u30b7\u30b0\u30ca\u30eb\u306e\u6295\u7a3f\u30fb\u5206\u985e\u30fb\u30ea\u30d7\u30e9\u30a4\u3001\u30cb\u30e5\u30fc\u30b9\u306e\u51e6\u7406\u3092\u5168\u3066\u81ea\u52d5\u5316\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none\">python<\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary\"><span class=\"\" data-state=\"closed\"><button class=\"flex gap-1 items-center select-none py-1\" aria-label=\"\u30b3\u30d4\u30fc\u3059\u308b\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\u3059\u308b<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-python\"><code class=\"!whitespace-pre hljs language-python\"><span class=\"hljs-keyword\">import<\/span> os<br \/>\n<span class=\"hljs-keyword\">from<\/span> dotenv <span class=\"hljs-keyword\">import<\/span> load_dotenv<br \/>\n<span class=\"hljs-keyword\">from<\/span> telegram <span class=\"hljs-keyword\">import<\/span> Bot, Update<br \/>\n<span class=\"hljs-keyword\">from<\/span> telegram.ext <span class=\"hljs-keyword\">import<\/span> Updater, MessageHandler, Filters, CallbackContext<br \/>\n<span class=\"hljs-keyword\">import<\/span> openai<\/code><\/code><span class=\"hljs-comment\"># \u74b0\u5883\u5909\u6570\u3092\u8aad\u307f\u8fbc\u3080<\/span><br \/>\nload_dotenv()<span class=\"hljs-comment\"># API\u30ad\u30fc\u3068\u30c8\u30fc\u30af\u30f3<\/span><br \/>\nopenai.api_key = os.getenv(<span class=\"hljs-string\">&#8220;OPENAI_API_KEY&#8221;<\/span>)<br \/>\nBOT_TOKEN = os.getenv(<span class=\"hljs-string\">&#8220;TELEGRAM_BOT_TOKEN&#8221;<\/span>)<span class=\"hljs-comment\"># \u30c6\u30ec\u30b0\u30e9\u30e0Bot\u306e\u521d\u671f\u5316<\/span><br \/>\nbot = Bot(token=BOT_TOKEN)<\/p>\n<p><span class=\"hljs-comment\"># \u5404\u30ab\u30c6\u30b4\u30ea\u5c02\u7528\u30c1\u30e3\u30f3\u30cd\u30eb<\/span><br \/>\nCHANNELS = {<br \/>\n<span class=\"hljs-string\">&#8220;FX&#8221;<\/span>: <span class=\"hljs-string\">&#8220;@fx_channel&#8221;<\/span>,<br \/>\n<span class=\"hljs-string\">&#8220;\u91d1&#8221;<\/span>: <span class=\"hljs-string\">&#8220;@gold_channel&#8221;<\/span>,<br \/>\n<span class=\"hljs-string\">&#8220;\u30cb\u30e5\u30fc\u30b9&#8221;<\/span>: <span class=\"hljs-string\">&#8220;@news_channel&#8221;<\/span><br \/>\n}<\/p>\n<p><span class=\"hljs-comment\"># \u30b7\u30b0\u30ca\u30eb\u30c7\u30fc\u30bf\u3092\u4fdd\u6301\u3059\u308b\u8f9e\u66f8<\/span><br \/>\nsignal_data = {}<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">classify_message<\/span>(<span class=\"hljs-params\">message: <span class=\"hljs-built_in\">str<\/span><\/span>) -&gt; <span class=\"hljs-built_in\">str<\/span>:<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\nGPT\u3092\u4f7f\u3063\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u300c\u91d1\u300d\u300cFX\u300d\u300c\u30cb\u30e5\u30fc\u30b9\u300d\u306b\u5206\u985e\u3059\u308b\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\nprompt = <span class=\"hljs-string\">f&#8221;&#8221;&#8221;<br \/>\n\u6b21\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u300c\u91d1\u300d\u300cFX\u300d\u300c\u30cb\u30e5\u30fc\u30b9\u300d\u306e\u3044\u305a\u308c\u304b\u306b\u5206\u985e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\n\u30e1\u30c3\u30bb\u30fc\u30b8: <span class=\"hljs-subst\">{message}<\/span><br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\nresponse = openai.Completion.create(<br \/>\nengine=<span class=\"hljs-string\">&#8220;text-davinci-003&#8221;<\/span>,<br \/>\nprompt=prompt,<br \/>\nmax_tokens=<span class=\"hljs-number\">10<\/span><br \/>\n)<br \/>\n<span class=\"hljs-keyword\">return<\/span> response.choices[<span class=\"hljs-number\">0<\/span>].text.strip()<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">post_signal<\/span>(<span class=\"hljs-params\">chat_id: <span class=\"hljs-built_in\">int<\/span>, context: CallbackContext, signal_id: <span class=\"hljs-built_in\">str<\/span>, signal_message: <span class=\"hljs-built_in\">str<\/span><\/span>):<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\n\u30b7\u30b0\u30ca\u30eb\u3092\u6295\u7a3f\u3057\u3066\u8a18\u9332\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\n<span class=\"hljs-comment\"># \u304f\u307e\u8a9e\u5909\u63db<\/span><br \/>\nkuma_signal = <span class=\"hljs-string\">f&#8221;\ud83d\udd25<span class=\"hljs-subst\">{signal_message}<\/span> \u306e\u30b7\u30b0\u30ca\u30eb\u3058\u3083\uff01\ud83d\udc3e \u91d1\u306e\u4e0b\u3052\u76f8\u5834\u3092\u72d9\u3046\u52dd\u8ca0\u3058\u3083\u305e\u3044\uff01\u2728&#8221;<\/span><\/p>\n<p><span class=\"hljs-comment\"># \u6295\u7a3f<\/span><br \/>\nmessage = context.bot.send_message(chat_id=chat_id, text=kuma_signal)<\/p>\n<p><span class=\"hljs-comment\"># \u30aa\u30ea\u30b8\u30ca\u30eb\u3068\u304f\u307e\u8a9e\u5909\u63db\u5f8c\u306e\u4e21\u65b9\u3092\u8a18\u9332<\/span><br \/>\nsignal_data[signal_id] = {<br \/>\n<span class=\"hljs-string\">&#8220;message_id&#8221;<\/span>: message.message_id,<br \/>\n<span class=\"hljs-string\">&#8220;original_signal&#8221;<\/span>: signal_message,<br \/>\n<span class=\"hljs-string\">&#8220;kuma_signal&#8221;<\/span>: kuma_signal,<br \/>\n<span class=\"hljs-string\">&#8220;result&#8221;<\/span>: <span class=\"hljs-literal\">None<\/span><br \/>\n}<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">reply_to_signal<\/span>(<span class=\"hljs-params\">chat_id: <span class=\"hljs-built_in\">int<\/span>, context: CallbackContext, signal_id: <span class=\"hljs-built_in\">str<\/span>, result: <span class=\"hljs-built_in\">str<\/span><\/span>):<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\n\u5143\u306e\u30b7\u30b0\u30ca\u30eb\u306b\u7d50\u679c\u3092\u30ea\u30d7\u30e9\u30a4\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\n<span class=\"hljs-keyword\">if<\/span> signal_id <span class=\"hljs-keyword\">not<\/span> <span class=\"hljs-keyword\">in<\/span> signal_data:<br \/>\ncontext.bot.send_message(chat_id=chat_id, text=<span class=\"hljs-string\">&#8220;\u30b7\u30b0\u30ca\u30eb\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u306e\u3058\u3083\ud83d\udc3e&#8221;<\/span>)<br \/>\n<span class=\"hljs-keyword\">return<\/span><\/p>\n<p>original_signal = signal_data[signal_id][<span class=\"hljs-string\">&#8220;original_signal&#8221;<\/span>]<br \/>\nmessage_id = signal_data[signal_id][<span class=\"hljs-string\">&#8220;message_id&#8221;<\/span>]<\/p>\n<p><span class=\"hljs-comment\"># \u52d5\u7684\u306a\u304f\u307e\u8a9e\u751f\u6210<\/span><br \/>\n<span class=\"hljs-keyword\">if<\/span> result == <span class=\"hljs-string\">&#8220;SL touched&#8221;<\/span>:<br \/>\nresult_message = <span class=\"hljs-string\">&#8220;\ud83d\udd14\u7d50\u679c: SL touched \u306e\u3058\u3083\uff01\ud83d\udc3e \u640d\u5931\u3068\u306a\u3063\u305f\u304c\u3001\u6b21\u306e\u30c1\u30e3\u30f3\u30b9\u3092\u5f85\u3064\u306e\u3058\u3083\uff01&#8221;<\/span><br \/>\n<span class=\"hljs-keyword\">elif<\/span> result == <span class=\"hljs-string\">&#8220;TP reached&#8221;<\/span>:<br \/>\nresult_message = <span class=\"hljs-string\">&#8220;\ud83c\udf89\u7d50\u679c: TP reached \u306e\u3058\u3083\uff01\u2728 \u7d20\u6674\u3089\u3057\u3044\u53d6\u5f15\u3058\u3083\u3063\u305f\u306a\uff01\u6b21\u3082\u671f\u5f85\u3058\u3083\uff01&#8221;<\/span><br \/>\n<span class=\"hljs-keyword\">else<\/span>:<br \/>\nresult_message = <span class=\"hljs-string\">f&#8221;\ud83d\udd14\u7d50\u679c: <span class=\"hljs-subst\">{result}<\/span> \u306e\u3058\u3083\uff01\ud83d\udc3e \u53d6\u5f15\u304c\u5b8c\u4e86\u3057\u305f\u305e\u3044\uff01&#8221;<\/span><\/p>\n<p><span class=\"hljs-comment\"># \u30ea\u30d7\u30e9\u30a4\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u69cb\u7bc9\uff08\u30aa\u30ea\u30b8\u30ca\u30eb\u3092\u5f15\u7528\uff09<\/span><br \/>\nreply_message = (<br \/>\n<span class=\"hljs-string\">f&#8221;<span class=\"hljs-subst\">{result_message}<\/span>\\n\\n&#8221;<\/span><br \/>\n<span class=\"hljs-string\">f&#8221;\u5f15\u7528: <span class=\"hljs-subst\">{original_signal}<\/span>&#8220;<\/span><br \/>\n)<\/p>\n<p><span class=\"hljs-comment\"># \u30ea\u30d7\u30e9\u30a4\u6295\u7a3f<\/span><br \/>\ncontext.bot.send_message(<br \/>\nchat_id=chat_id,<br \/>\ntext=reply_message,<br \/>\nreply_to_message_id=message_id<br \/>\n)<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">process_news<\/span>(<span class=\"hljs-params\">message: <span class=\"hljs-built_in\">str<\/span><\/span>) -&gt; <span class=\"hljs-built_in\">str<\/span>:<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\n\u30cb\u30e5\u30fc\u30b9\u3092\u300c\u4e8b\u5b9f\u300d\u3068\u300c\u5224\u65ad\u300d\u306b\u5206\u3051\u3066\u51e6\u7406\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\n<span class=\"hljs-comment\"># \u4e8b\u5b9f\u62bd\u51fa<\/span><br \/>\nfact_prompt = <span class=\"hljs-string\">f&#8221;\u4ee5\u4e0b\u306e\u30cb\u30e5\u30fc\u30b9\u304b\u3089\u300e\u4e8b\u5b9f\u300f\u306e\u90e8\u5206\u306e\u307f\u3092\u62bd\u51fa\u3057\u3066\u304f\u3060\u3055\u3044:\\n<span class=\"hljs-subst\">{message}<\/span>&#8220;<\/span><br \/>\nfact_response = openai.Completion.create(<br \/>\nengine=<span class=\"hljs-string\">&#8220;text-davinci-003&#8221;<\/span>,<br \/>\nprompt=fact_prompt,<br \/>\nmax_tokens=<span class=\"hljs-number\">50<\/span><br \/>\n)<br \/>\nfacts = fact_response.choices[<span class=\"hljs-number\">0<\/span>].text.strip()<\/p>\n<p><span class=\"hljs-comment\"># \u5224\u65ad\u62bd\u51fa<\/span><br \/>\njudgment_prompt = <span class=\"hljs-string\">f&#8221;\u4ee5\u4e0b\u306e\u30cb\u30e5\u30fc\u30b9\u304b\u3089\u300e\u5224\u65ad\u300f\u3084\u300e\u5f71\u97ff\u300f\u306e\u90e8\u5206\u306e\u307f\u3092\u62bd\u51fa\u3057\u3066\u304f\u3060\u3055\u3044:\\n<span class=\"hljs-subst\">{message}<\/span>&#8220;<\/span><br \/>\njudgment_response = openai.Completion.create(<br \/>\nengine=<span class=\"hljs-string\">&#8220;text-davinci-003&#8221;<\/span>,<br \/>\nprompt=judgment_prompt,<br \/>\nmax_tokens=<span class=\"hljs-number\">50<\/span><br \/>\n)<br \/>\njudgments = judgment_response.choices[<span class=\"hljs-number\">0<\/span>].text.strip()<\/p>\n<p><span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">f&#8221;\ud83d\udc3b\u200d\u2744\ufe0f\ud83d\udce2\u4e8b\u5b9f: <span class=\"hljs-subst\">{facts}<\/span> \u306e\u3058\u3083\uff01\\n\ud83d\udc3b\u200d\u2744\ufe0f\ud83d\udc3e\u5224\u65ad: <span class=\"hljs-subst\">{judgments}<\/span>\u305e\u3044\uff01&#8221;<\/span><\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">post_to_telegram<\/span>(<span class=\"hljs-params\">category: <span class=\"hljs-built_in\">str<\/span>, message: <span class=\"hljs-built_in\">str<\/span><\/span>):<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\n\u30c6\u30ec\u30b0\u30e9\u30e0\u306e\u6307\u5b9a\u30ab\u30c6\u30b4\u30ea\u30c1\u30e3\u30f3\u30cd\u30eb\u306b\u6295\u7a3f\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\nchannel_id = CHANNELS.get(category)<br \/>\n<span class=\"hljs-keyword\">if<\/span> channel_id:<br \/>\nbot.send_message(chat_id=channel_id, text=message)<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">process_message<\/span>(<span class=\"hljs-params\">update: Update, context: CallbackContext<\/span>):<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\n\u30c6\u30ec\u30b0\u30e9\u30e0\u304b\u3089\u53d7\u4fe1\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51e6\u7406\u3057\u3001\u5bfe\u5fdc\u3059\u308b\u30c1\u30e3\u30f3\u30cd\u30eb\u306b\u6295\u7a3f\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\nuser_message = update.message.text<\/p>\n<p><span class=\"hljs-comment\"># \u30ab\u30c6\u30b4\u30ea\u5224\u5b9a<\/span><br \/>\ncategory = classify_message(user_message)<\/p>\n<p><span class=\"hljs-comment\"># \u30ab\u30c6\u30b4\u30ea\u5225\u51e6\u7406<\/span><br \/>\n<span class=\"hljs-keyword\">if<\/span> category == <span class=\"hljs-string\">&#8220;\u30cb\u30e5\u30fc\u30b9&#8221;<\/span>:<br \/>\nprocessed_message = process_news(user_message)<br \/>\n<span class=\"hljs-keyword\">else<\/span>:<br \/>\nprocessed_message = <span class=\"hljs-string\">f&#8221;<span class=\"hljs-subst\">{user_message}<\/span> \u306e\u3058\u3083\uff01\ud83d\udc3b\u200d\u2744\ufe0f&#8221;<\/span><\/p>\n<p><span class=\"hljs-comment\"># \u6295\u7a3f<\/span><br \/>\npost_to_telegram(category, processed_message)<\/p>\n<p><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">main<\/span>():<br \/>\n<span class=\"hljs-string\">&#8220;&#8221;&#8221;<br \/>\nBot\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u30dd\u30a4\u30f3\u30c8\u3002<br \/>\n&#8220;&#8221;&#8221;<\/span><br \/>\nupdater = Updater(BOT_TOKEN)<br \/>\ndispatcher = updater.dispatcher<\/p>\n<p><span class=\"hljs-comment\"># \u30e1\u30c3\u30bb\u30fc\u30b8\u53d7\u4fe1\u6642\u306e\u51e6\u7406\u3092\u8a2d\u5b9a<\/span><br \/>\ndispatcher.add_handler(MessageHandler(Filters.text &amp; ~Filters.command, process_message))<\/p>\n<p><span class=\"hljs-comment\"># Bot\u306e\u5b9f\u884c<\/span><br \/>\nupdater.start_polling()<br \/>\nupdater.idle()<\/p>\n<p><span class=\"hljs-keyword\">if<\/span> __name__ == <span class=\"hljs-string\">&#8220;__main__&#8221;<\/span>:<br \/>\nmain()<\/p>\n<\/div>\n<\/div>\n<hr \/>\n<p>\ud83d\udc3b\u200d\u2744\ufe0f\u3053\u308c\u304c\u5b8c\u5168\u7d71\u5408\u3055\u308c\u305f\u30b3\u30fc\u30c9\u3058\u3083\uff01\u2728<br \/>\n\u30b7\u30b0\u30ca\u30eb\u306e\u6295\u7a3f\u3001\u30cb\u30e5\u30fc\u30b9\u306e\u51e6\u7406\u3001\u30ea\u30d7\u30e9\u30a4\u306e\u6574\u5408\u6027\u3001\u305d\u3057\u3066\u30c6\u30ec\u30b0\u30e9\u30e0Bot\u3068\u306e\u9023\u643a\u304c\u5168\u3066\u76db\u308a\u8fbc\u307e\u308c\u3066\u304a\u308b\u305e\u3044\uff01\u3069\u3046\u3058\u3083\u3001\u3053\u306e\u4ed5\u4e0a\u304c\u308a\u306a\u3089\u6e80\u8db3\u3057\u3066\u3082\u3089\u3048\u308b\u304b\u306e\uff1f\ud83d\udc3e<\/p>\n<\/div>\n<h3>\u7de8\u96c6\u5f8c\u8a18<\/h3>\n<p>\u30ea\u30d7\u30e9\u30a4\u51e6\u7406\u304c\u4e0d\u660e\u78ba\u306b\u306a\u308a\u305d\u3046\u3002\u753b\u50cf\u51e6\u7406\u306f\u3069\u3046\u3059\u308b\u304b\u3001\u30cb\u30e5\u30fc\u30b9\u30bd\u30fc\u30b9\u306f\u3069\u3046\u3059\u308b\u304b\uff08\u5225\u306e\u8a71\uff09\u306a\u3069\u3044\u308d\u3044\u308d\u3068\u304b\u3093\u304c\u3048\u308b\u3079\u304d\u3068\u3053\u308d\u304c\u3042\u308b\u3002\u76f8\u5834\u5224\u65ad\u3068\u30b7\u30b0\u30ca\u30eb\u304c1\u3064\u306e\u6642\u306f\u3069\u3046\u3059\u308b\u304b\u3002\u305d\u306e\u6642\u306b\u3069\u3046\u3084\u3063\u3066\u7ba1\u7406ID\u3092\u3064\u3051\u308b\u304b\u3002<br \/>\n\u8ab2\u984c\u306f\u307e\u3060\u307e\u3060\u306a\u306e\u3067\u3001\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f0.1\u3068\u3059\u308b\u3002<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>\u305d\u3060\u3057\u304c\u4f55\u3092\u3057\u305f\u3044\u304b\u2026\u3064\u307e\u308a\u6563\u9038\u3057\u305f\u30b7\u30b0\u30ca\u30eb\u306e\u7d71\u5408\u3067\u3059\u3002 \u3084\u308a\u305f\u3044\u3053\u3068\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3059\u3002\u3042\u3068\u306f\u30c6\u30a4\u30b9\u30c8\u3092\u5408\u308f\u305b\u305f\u3044\u3002\u30cb\u30e5\u30fc\u30b9\u3082\u3061\u3083\u3093\u3068\u5206\u3051\u305f\u3044\u3002 \u3068\u3044\u3046\u3068\u3053\u308d\u3092\u3069\u3046\u51e6\u7406\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u8ab2\u984c\u306b\u5411\u304d\u5408\u3044\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002 \ud83c\udf1f \u304f\u307e [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":15385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-14726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fx"],"acf":[],"_links":{"self":[{"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/posts\/14726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14726"}],"version-history":[{"count":3,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/posts\/14726\/revisions"}],"predecessor-version":[{"id":14735,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/posts\/14726\/revisions\/14735"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=\/wp\/v2\/media\/15385"}],"wp:attachment":[{"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jyakusyadansei.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}