{"id":27717,"date":"2026-08-14T22:40:46","date_gmt":"2026-08-14T22:40:46","guid":{"rendered":"https:\/\/umang.pk\/2026\/08\/14\/%d8%a7%d8%b2%da%af%d8%b1-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d8%a8%d9%86%db%8c%d8%a7%d8%af%db%8c-%da%88%d8%b3\/"},"modified":"2026-08-14T22:40:50","modified_gmt":"2026-08-14T22:40:50","slug":"%d8%a7%d8%b2%da%af%d8%b1-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d8%a8%d9%86%db%8c%d8%a7%d8%af%db%8c-%da%88%d8%b3","status":"publish","type":"post","link":"https:\/\/umang.pk\/en_us\/2026\/08\/14\/%d8%a7%d8%b2%da%af%d8%b1-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d8%a8%d9%86%db%8c%d8%a7%d8%af%db%8c-%da%88%d8%b3\/","title":{"rendered":"\u0627\u0632\u06af\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u06c1\u0627\u0646\u06cc \u0633\u0646\u0627\u0646\u06d2\u060c \u0686\u06cc\u0679\u060c \u0627\u0648\u0631 \u062f\u0645\u0627\u063a\u06cc \u0635\u062d\u062a \u06a9\u0627 \u0628\u0648\u0679 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2"},"content":{"rendered":"\n<div id=\"\">\n<p>\u062c\u0628 \u0622\u067e \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u06a9\u0648 \u0639\u0645\u0644 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0648\u06c1 \u062d\u06cc\u0631\u062a \u0627\u0646\u06af\u06cc\u0632 \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0644\u06af \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0648\u0679\u0633 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u06c1\u0627\u0646\u06cc\u0627\u06ba \u0633\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06af\u0641\u062a\u06af\u0648 \u06a9\u06d2 \u06a9\u0686\u06be \u062d\u0635\u06d2 \u06cc\u0627\u062f \u0631\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062f\u0646 \u0645\u06cc\u06ba 24 \u06af\u06be\u0646\u0679\u06d2 \u0622\u0646 \u0644\u0627\u0626\u0646 \u0631\u06c1 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0633\u0648\u0686\u0627 \u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0627\u06cc\u06a9 \u0679\u0646 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06a9\u0648\u0688 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062e\u06cc\u0627\u0644 \u062f\u0631\u0627\u0635\u0644 \u0628\u06c1\u062a \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u06cc\u06a9 Discord bot \u0627\u06cc\u06a9 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06c1\u06d2 \u062c\u0648 Discord \u0633\u06d2 \u062c\u0691\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0686\u06be \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0648\u0627\u0628 \u06a9\u06cc\u0633\u06d2 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u0628\u0646\u06cc\u0627\u062f\u06cc \u062e\u06cc\u0627\u0644 \u06a9\u0648 \u0633\u0645\u062c\u06be \u0644\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u06cc\u06a9 \u0648\u0642\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u06cc\u06a9 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0633\u0627\u062f\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u062f\u0644\u0686\u0633\u067e \u0686\u06cc\u0632 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0628\u06c1\u062a \u06c1\u06cc \u0686\u06be\u0648\u0679\u06d2 \u0628\u0648\u0679 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u06c1\u0633\u062a\u06c1 \u0627\u0633\u06d2 \u0645\u0632\u06cc\u062f \u0642\u0627\u0628\u0644 \u0628\u0648\u0679 \u062a\u06a9 \u0628\u0646\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba\u060c \u0622\u067e Discord \u06a9\u0645\u0627\u0646\u0688\u0632\u060c \u0627\u06cc\u0648\u0646\u0679\u0633\u060c \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0627\u0632\u06af\u0631\u060c \u0635\u0627\u0631\u0641 \u06a9\u06cc \u062d\u0627\u0644\u062a\u060c \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc\u0648\u06ba \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u0641\u0648\u0631\u06cc \u062a\u0631\u062f\u06cc\u062f: \u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u062f\u0645\u0627\u063a\u06cc \u0635\u062d\u062a \u06a9\u06cc \u062c\u0648 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06c1\u0645 \u0627\u0633 \u0628\u0648\u0679 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2 \u0648\u06c1 \u06c1\u06cc\u06ba: <strong>\u0639\u0644\u0627\u062c \u0646\u06c1\u06cc\u06ba<\/strong>\u0628\u0648\u0679\u0633 \u062a\u06be\u0631\u0627\u067e\u0633\u0679 \u06cc\u0627 \u0637\u0628\u06cc \u067e\u06cc\u0634\u06c1 \u0648\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0639\u0627\u0645 \u0627\u0645\u062f\u0627\u062f\u06cc \u067e\u06cc\u0634\u06a9\u0634\u06cc\u06ba \u067e\u06cc\u0634 \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u0626\u06cc\u06ba \u0627\u0648\u0631 \u062c\u0628 \u0645\u0646\u0627\u0633\u0628 \u06c1\u0648 \u062a\u0648 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0644\u0648\u06af\u0648\u06ba \u0633\u06d2 \u0631\u0627\u0628\u0637\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062a\u0631\u063a\u06cc\u0628 \u062f\u06cc\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0622\u0626\u06cc\u06d2 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0648\u0688\u0646\u06af \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba!<\/p>\n<h3 id=\"heading-what-well-cover\">\u06c1\u0645 \u06a9\u06cc\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u06cc\u06ba \u06af\u06d2:<\/h3>\n<h2 id=\"heading-what-were-building\">\u06c1\u0645 \u06a9\u06cc\u0627 \u0628\u0646\u0627 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba<\/h2>\n<p>\u062a\u06cc\u0627\u0631 \u0634\u062f\u06c1 \u0628\u0648\u0679 \u0645\u06cc\u06ba \u06a9\u0626\u06cc \u06a9\u0645\u0627\u0646\u0688\u0632 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">!hello\n!story\n!chat hello!\n!support I'm having a stressful day\n!help\n<\/code><\/pre>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">User:\n!story\n\nBot:\nYou wake up inside an abandoned library.\n\nThere are three doors in front of you:\n\n1. A red wooden door\n2. A metal door covered in strange symbols\n3. A staircase leading underground\n\nWhich one do you choose?\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u0635\u0627\u0631\u0641 \u06a9\u06c1\u0627\u0646\u06cc \u062c\u0627\u0631\u06cc \u0631\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0686\u06cc\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2:<\/p>\n<pre><code class=\"language-text\">User:\n!chat What's a good way to learn Python?\n\nBot:\nTry building small projects instead of only reading tutorials.\nA Discord bot is actually a pretty fun project to start with.\n<\/code><\/pre>\n<p>\u062f\u0645\u0627\u063a\u06cc \u0635\u062d\u062a \u06a9\u06cc \u0645\u0639\u0627\u0648\u0646\u062a:<\/p>\n<pre><code class=\"language-text\">User:\n!support I'm really stressed about school.\n\nBot:\nThat sounds like a lot to deal with. You could try breaking\nthe work into one small task at a time and taking a short\nbreak between tasks.\n\nI'm a bot, not a therapist, so if you need personal support,\nconsider talking with someone you trust.\n<\/code><\/pre>\n<p>\u0645\u0642\u0635\u062f \u062c\u0627\u062f\u0648\u0626\u06cc \u0631\u0648\u0628\u0648\u0679 \u062a\u06be\u0631\u0627\u067e\u0633\u0679 \u0628\u0646\u0627\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0622\u067e \u0633\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 Discord API\u060c Python \u0641\u0646\u06a9\u0634\u0646\u0632\u060c \u0627\u06cc\u0648\u0646\u0679\u0633\u060c \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af\u060c \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0645\u0646\u0637\u0642 \u0627\u06cc\u06a9 \u0645\u0641\u06cc\u062f \u0628\u0648\u0679 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0641\u0679 \u0628\u06cc\u0679\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-you-need\">\u0622\u067e \u06a9\u0648 \u06a9\u06cc\u0627 \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2<\/h2>\n<p>\u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0686\u0646\u062f \u0686\u06cc\u0632\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2:<\/p>\n<ul>\n<li>\n<p>Python (\u0648\u0631\u0698\u0646 3.8 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u062c\u0648\u06cc\u0632 \u06a9\u0631\u062f\u06c1)<\/p>\n<\/li>\n<li>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0627\u06a9\u0627\u0624\u0646\u0679<\/p>\n<\/li>\n<li>\n<p>\u0628\u0648\u0679\u0633 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0688\u0633\u06a9\u0627\u0631\u0688 \u0633\u0631\u0648\u0631<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0648\u0688 \u0627\u06cc\u0688\u06cc\u0679\u0631 (\u0645\u06cc\u06ba \u0630\u0627\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 VS \u06a9\u0648\u0688 \u06cc\u0627 PyCharm \u06a9\u0648 \u062a\u0631\u062c\u06cc\u062d \u062f\u06cc\u062a\u0627 \u06c1\u0648\u06ba)<\/p>\n<\/li>\n<li>\n<p>\u06a9\u06c1 <code>discord.py<\/code> \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc<\/p>\n<\/li>\n<\/ul>\n<p>\u06c1\u0645 Python \u06a9\u06d2 \u0628\u0644\u0679 \u0627\u0646 \u0641\u0646\u06a9\u0634\u0646\u0632 \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <code>os<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u06cc\u0648\u0644 \u06c1\u06d2 \u062c\u0648 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc Python \u0627\u0646\u0633\u0679\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062a\u0648\u060c Python \u06a9\u06cc \u0622\u0641\u06cc\u0634\u0644 \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u0633\u06d2 Python \u06a9\u0627 \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u062a\u0639\u0627\u0648\u0646 \u06cc\u0627\u0641\u062a\u06c1 \u0648\u0631\u0698\u0646 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 Python \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">python --version\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0648 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06a9\u06cc \u0637\u0631\u062d \u06a9\u0686\u06be \u062f\u06cc\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2:<\/p>\n<pre><code class=\"language-text\">Python 3.x.x\n<\/code><\/pre>\n<h2 id=\"heading-create-the-discord-bot\">\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u0627\u0632\u06af\u0631 Discord \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631 \u0633\u06a9\u06d2\u060c \u0622\u067e \u06a9\u0648 Discord \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>Discord \u0688\u0648\u06cc\u0644\u067e\u0631 \u067e\u0648\u0631\u0679\u0644 \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba: https:\/\/discord.com\/developers\/applications<\/p>\n<p>\u06cc\u06c1 \u0635\u0641\u062d\u06c1 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2: \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 Discord \u0627\u06cc \u0645\u06cc\u0644\/\u0635\u0627\u0631\u0641 \u0646\u0627\u0645 \u0627\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0644\u0627\u06af \u0627\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u067e\u0691\u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0648\u067e\u0631\u06cc \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0648\u0646\u06d2 \u0645\u06cc\u06ba &quot;\u0646\u0626\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646&#8221; \u0628\u0679\u0646 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0646\u0627\u0645 \u062f\u06cc\u06ba\u06d4 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u06c1\u0645\u0627\u0631\u0627 \u0646\u0627\u0645 \u06c1\u06d2\u06d4 <code>StoryBot<\/code>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786747246_851_\u0627\u0632\u06af\u0631-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0627\u06cc\u06a9-\u0628\u0646\u06cc\u0627\u062f\u06cc-\u0688\u0633\u06a9\u0627\u0631\u0688-\u06a9\u06c1\u0627\u0646\u06cc-\u0633\u0646\u0627\u0646\u06d2\u060c.png\" alt=\"\u062c\u0628 \u0622\u067e \u0646\u06d2 \u0627\u0633\u06d2 \u06a9\u0644\u06a9 \u06a9\u06cc\u0627 \u062a\u0648 \u06cc\u06c1 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u062a\u06be\u0627 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u0648\u06cc\u0631 \" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" New title=\"\"><\/p>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u0648\u0679 \u06a9\u0627 \u06af\u06be\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>Discord \u06a9\u0627 \u0688\u0648\u06cc\u0644\u067e\u0631 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0648\u06c1 \u0679\u0648\u0644\u0632 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u06cc \u0622\u067e \u06a9\u0648 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0627\u0648\u0631 \u0628\u0648\u0679\u0633 \u0628\u0646\u0627\u0646\u06d2 \u0627\u0648\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u0633\u06d2 \u06a9\u06be\u0648\u0644\u06cc\u06ba\u06d4 <strong>\u0628\u0648\u0679<\/strong> \u0633\u06cc\u06a9\u0634\u0646 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0628\u0648\u0679 \u0635\u0627\u0631\u0641 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0686\u0627\u06c1\u06cc\u06ba \u062a\u0648 \u0622\u067e \u0627\u067e\u0646\u06cc \u0627\u067e\u0646\u06cc \u062a\u0635\u0648\u06cc\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0628\u06cc\u0646\u0631\u0632 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u062c\u0627\u0626\u06cc\u06ba: <strong>\u0679\u0648\u06a9\u0646<\/strong> \u0633\u06cc\u06a9\u0634\u0646 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0679\u0648\u06a9\u0646 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 &quot;\u0631\u06cc \u0633\u06cc\u0679 \u0679\u0648\u06a9\u0646&#8221; \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633 \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06cc \u0637\u0631\u062d \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4 \u06a9\u0631\u0648 <strong>\u0646\u06c1\u06cc\u06ba<\/strong> \u0627\u0633\u06d2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u067e\u0646\u06d2 Python \u0633\u0648\u0631\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0688\u0627\u0644\u06cc\u06ba\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786747246_920_\u0627\u0632\u06af\u0631-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0627\u06cc\u06a9-\u0628\u0646\u06cc\u0627\u062f\u06cc-\u0688\u0633\u06a9\u0627\u0631\u0688-\u06a9\u06c1\u0627\u0646\u06cc-\u0633\u0646\u0627\u0646\u06d2\u060c.png\" alt=\"\u0628\u0648\u0679\u0633 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u0627 \u0679\u0648\u06a9\u0646 \u062d\u0635\u06c1 \u06a9\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u062a\u0635\u0648\u06cc\u0631\" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p>\u0627\u06cc\u0633\u0627 \u06a9\u0628\u06be\u06cc \u0646\u06c1 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">bot.run(\"my-secret-token\")\n<\/code><\/pre>\n<p>\u0627\u0648\u0631 GitHub \u067e\u0631 \u0679\u0648\u06a9\u0646\u0632 \u0627\u067e \u0644\u0648\u0688 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0646\u06c1 \u06c1\u06cc \u0627\u0646\u06c1\u06cc\u06ba \u0633\u0648\u0631\u0633 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u067e\u0627\u0628\u0646\u062f \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0627\u0633\u06d2 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631 \u0645\u06cc\u06ba \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06c1\u0645 \u0628\u0639\u062f \u0645\u06cc\u06ba \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-give-the-bot-permission-to-read-messages\">\u0628\u0648\u0679 \u06a9\u0648 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u06ba\u06d4<\/h2>\n<p>\u06c1\u0645\u0627\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0627\u06cc\u0633\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u06cc \u062c\u0627\u0646\u0686 \u067e\u0691\u062a\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0646 \u0645\u06cc\u06ba \u06a9\u0645\u0627\u0646\u0688\u0632 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0686\u06be \u0627\u0633 \u0637\u0631\u062d \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>\u06af\u06cc\u0679 \u0648\u06d2 \u06a9\u0627 \u0627\u0631\u0627\u062f\u06c1<\/strong> \u0622\u067e \u06a9\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0648\u0627\u0642\u0639\u0627\u062a \u06a9\u06cc \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>discord.py<\/code> \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0645\u06cc\u06ba \u0648\u0636\u0627\u062d\u062a \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0627\u062c\u0627\u0632\u062a \u0634\u062f\u06c1 \u0627\u0631\u0627\u062f\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0688\u0648\u06cc\u0644\u067e\u0631 \u067e\u0648\u0631\u0679\u0644 \u062f\u0648\u0646\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0631\u0627\u062f\u0648\u06ba \u06a9\u0627 \u0641\u0639\u0627\u0644 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0688\u0648\u06cc\u0644\u067e\u0631 \u067e\u0648\u0631\u0679\u0644 \u0645\u06cc\u06ba\u060c \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">Bot\n\u2192 Privileged Gateway Intents\n<\/code><\/pre>\n<p>\u0641\u0639\u0627\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">Message Content Intent\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633 \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u0627:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/08\/1786747246_374_\u0627\u0632\u06af\u0631-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0627\u06cc\u06a9-\u0628\u0646\u06cc\u0627\u062f\u06cc-\u0688\u0633\u06a9\u0627\u0631\u0688-\u06a9\u06c1\u0627\u0646\u06cc-\u0633\u0646\u0627\u0646\u06d2\u060c.png\" alt=\"\u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06a9\u0631\u0648\u06ba\u061f \" style=\"display:block;margin:0 auto\" width=\"600\" height=\"400\" loading=\"lazy\" Message Content section look title=\"\"><\/p>\n<p>\u06c1\u0645 \u0627\u0633\u06d2 \u0627\u0632\u06af\u0631 \u0645\u06cc\u06ba \u0628\u06be\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0633 \u067e\u0631 \u06c1\u0645 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0628\u0627\u062a \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-create-the-project\">\u0627\u06cc\u06a9 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0627\u06cc\u06a9 \u0641\u0648\u0644\u0688\u0631 \u0628\u0646\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">discord-story-bot\/\n<\/code><\/pre>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0628\u0627\u0644\u0622\u062e\u0631 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">discord-story-bot\/\n\u2502\n\u251c\u2500\u2500 bot.py\n\u251c\u2500\u2500 requirements.txt\n\u2514\u2500\u2500 .env\n<\/code><\/pre>\n<p>\u062a\u06cc\u0646 \u0627\u06c1\u0645 \u0641\u0627\u0626\u0644\u06cc\u06ba \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p><code>bot.py<\/code>: \u06c1\u0645\u0627\u0631\u0627 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645<\/p>\n<\/li>\n<li>\n<p><code>requirements.txt<\/code>: \u0679\u06cc\u06a9\u0633\u0679 \u0641\u0627\u0626\u0644 \u062c\u0633 \u0645\u06cc\u06ba \u0628\u0648\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u067e\u06cc\u06a9\u06cc\u062c \u06a9\u06d2 \u0646\u0627\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p><code>.env<\/code>: \u0645\u0642\u0627\u0645\u06cc \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u062e\u0641\u06cc\u06c1 \u0679\u0648\u06a9\u0646<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"heading-create-a-virtual-environment\">\u0627\u06cc\u06a9 \u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u0627\u062d\u0648\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u0679\u0631\u0645\u06cc\u0646\u0644 \u06a9\u06be\u0648\u0644\u06cc\u06ba\u06d4<\/p>\n<p>\u0686\u0644\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">python -m venv venv\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0627\u0633\u06d2 \u0686\u0627\u0644\u0648 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0648\u0646\u0688\u0648\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2:<\/p>\n<pre><code class=\"language-bash\">venvScriptsactivate\n<\/code><\/pre>\n<p>macOS\/Linux \u06a9\u06d2 \u0644\u06cc\u06d2:<\/p>\n<pre><code class=\"language-bash\">source venv\/bin\/activate\n<\/code><\/pre>\n<p>\u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u0627\u062d\u0648\u0644 \u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0648 \u0627\u067e\u0646\u0627 \u0686\u06be\u0648\u0679\u0627 Python \u0628\u0644\u0628\u0644\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u0628\u0648\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u062f\u06c1 \u067e\u06cc\u06a9\u062c\u0632 \u062f\u0648\u0633\u0631\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062f\u06c1 \u067e\u06cc\u06a9\u062c\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0635\u0627\u062f\u0641\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u062f\u0627\u062e\u0644\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-install-discordpy\">discord.py \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u0628 Discord \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">pip install -U discord.py\n<\/code><\/pre>\n<p>\u0633\u0631\u06a9\u0627\u0631\u06cc <code>discord.py<\/code> \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u06d2 \u0642\u06cc\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0646\u0635\u06cc\u0628 \u06a9\u06d2 \u0627\u0633 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0645 \u0627\u0633\u06d2 \u0628\u06be\u06cc \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <code>python-dotenv<\/code>\u0627\u0633 \u0633\u06d2 \u06c1\u0645 \u0645\u0642\u0627\u0645\u06cc \u06a9\u062a\u0627\u0628\u06cc\u06ba \u067e\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>.env<\/code> \u0627\u067e\u0646\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">pip install python-dotenv\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 \u0628\u0686\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">pip freeze > requirements.txt\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0627 <code>requirements.txt<\/code> \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u06a9\u0627\u0631 \u067e\u06cc\u06a9\u062c\u0632 \u0636\u0631\u0648\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-create-your-first-bot\">\u0627\u067e\u0646\u0627 \u067e\u06c1\u0644\u0627 \u0628\u0648\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0686\u0644\u0648 \u0686\u06be\u0648\u0679\u06cc \u0634\u0631\u0648\u0639\u0627\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06be\u0644\u0627 <code>bot.py<\/code>:<\/p>\n<pre><code class=\"language-python\">import os\n\nimport discord\nfrom discord.ext import commands\nfrom dotenv import load_dotenv\n\n\nload_dotenv()\n\nTOKEN = os.getenv(\"DISCORD_TOKEN\")\n\nintents = discord.Intents.default()\nintents.message_content = True\n\nbot = commands.Bot(\n    command_prefix=\"!\",\n    intents=intents\n)\n\n\n@bot.event\nasync def on_ready():\n    print(f\"Logged in as {bot.user}\")\n\n\n@bot.command()\nasync def hello(ctx):\n    await ctx.send(\"Hello! I'm online.\")\n\n\nbot.run(TOKEN)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646\u0644 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u0626\u06cc\u06d2 \u0627\u0633\u06d2 \u0679\u06a9\u0691\u06d2 \u0679\u06a9\u0691\u06d2 \u06a9\u0631 \u062f\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-importing-our-libraries\">\u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u067e\u06c1\u0644\u0627:<\/p>\n<pre><code class=\"language-python\">import os\n<\/code><\/pre>\n<p><code>os<\/code>    Python \u06a9\u0648 \u0622\u067e\u0631\u06cc\u0679\u0646\u06af \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u062d\u0635\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0644\u0627:<\/p>\n<pre><code class=\"language-python\">import discord\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u0645\u062f\u0646\u06cc \u06c1\u06d2\u06d4 <code>discord.py<\/code>.<\/p>\n<p>\u067e\u06be\u0631:<\/p>\n<pre><code class=\"language-python\">from discord.ext import commands\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>commands<\/code> \u0627\u06cc\u06a9\u0633\u0679\u06cc\u0646\u0634\u0646\u0632 \u06a9\u0645\u0627\u0646\u0688\u0632 \u06a9\u0648 \u0628\u06c1\u062a \u0622\u0633\u0627\u0646 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2: <code>!hello<\/code>\u0622\u067e \u0627\u0633\u06d2 \u0627\u0633 \u0637\u0631\u062d \u0644\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def hello(ctx):\n    await ctx.send(\"Hello!\")\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>discord.py<\/code> \u06a9\u0645\u0627\u0646\u0688 \u0633\u0633\u0679\u0645 Python \u0641\u0646\u06a9\u0634\u0646\u0632 \u067e\u0631 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u062c\u0648 \u06a9\u0645\u0627\u0646\u0688\u0632 \u0633\u06d2 \u0645\u0632\u06cc\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">from dotenv import load_dotenv\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u0645 <code>.env<\/code> \u0641\u0627\u0626\u0644<\/p>\n<h3 id=\"heading-loading-the-token\">\u0679\u0648\u06a9\u0646 \u0644\u0648\u0688<\/h3>\n<p>\u0627\u067e\u0646\u06d2 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 Discord \u0633\u06d2 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0679\u0648\u06a9\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc\u06d4 \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0648\u0686\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u0628\u0648\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06c1\u0645 \u0627\u0633 \u0631\u0627\u0632 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u067e\u0646\u06d2 Python \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2\u06d4 \u0622\u0626\u06cc\u06d2 \u0627\u0633\u06d2 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0645\u062a\u063a\u06cc\u0631 \u0645\u06cc\u06ba \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>python-dotenv<\/code>:<\/p>\n<pre><code class=\"language-bash\">pip install python-dotenv\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u06cc\u06a9\u062c Python \u06a9\u06cc \u0627\u0642\u062f\u0627\u0631 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u06cc\u06c1\u0627\u06ba \u0633\u06d2: <code>.env<\/code> \u0641\u0627\u0626\u0644<\/p>\n<p>\u0627\u0628 \u0627\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>.env<\/code> \u0627\u0633\u06cc \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u062c\u06cc\u0633\u06d2 <code>bot.py<\/code>.<\/p>\n<p>\u0627\u0646\u062f\u0631 <code>.env<\/code>\u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">DISCORD_TOKEN=YOUR_BOT_TOKEN_HERE\n<\/code><\/pre>\n<p>\u062a\u0628\u062f\u06cc\u0644\u06cc <code>YOUR_BOT_TOKEN_HERE<\/code> Discord \u0688\u0648\u06cc\u0644\u067e\u0631 \u067e\u0648\u0631\u0679\u0644 \u0633\u06d2 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u062f\u06c1 \u0679\u0648\u06a9\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0641\u0627\u0626\u0644 \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2:<\/p>\n<pre><code class=\"language-text\">DISCORD_TOKEN=your_actual_token_here\n<\/code><\/pre>\n<p>\u0627\u0633 \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u06a9\u0633\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u06cc\u0626\u0631 \u06cc\u0627 \u0627\u067e \u0644\u0648\u0688 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 <code>.env<\/code> \u0627\u067e\u0646\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba GitHub \u067e\u0631 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4 \u0628\u0648\u0679 \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u06cc \u0637\u0631\u062d \u0633\u0645\u062c\u06be\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<p>Git \u06a9\u0648 \u062d\u0627\u062f\u062b\u0627\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2: <code>.env<\/code> \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>.gitignore<\/code> \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">.env\nvenv\/\n__pycache__\/\n<\/code><\/pre>\n<p>\u0627\u0628 \u0679\u0648\u06a9\u0646 \u06a9\u0648 Python \u0645\u06cc\u06ba \u0644\u0648\u0688 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631 <code>bot.py<\/code>\u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">import os\nfrom dotenv import load_dotenv\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">load_dotenv()\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0632\u06af\u0631 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u062a\u0627 \u06c1\u06d2: <code>.env<\/code> \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u0645\u06cc\u06ba \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0628 \u0622\u067e Discord \u0679\u0648\u06a9\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">TOKEN = os.getenv(\"DISCORD_TOKEN\")\n<\/code><\/pre>\n<p><code>os.getenv()<\/code>    \u0646\u0627\u0645\u0632\u062f \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631 \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 <code>\"DISCORD_TOKEN\"<\/code> \u0627\u0648\u0631 \u06cc\u06c1 \u06c1\u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u0642\u062f\u0631 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06cc\u06c1 \u0628\u06be\u06cc \u0686\u06cc\u06a9 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0679\u0648\u06a9\u0646 \u0648\u0627\u0642\u0639\u06cc \u0645\u06cc\u06ba \u067e\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<pre><code class=\"language-python\">if not TOKEN:\n    raise RuntimeError(\"DISCORD_TOKEN is not set.\")\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 Python \u0679\u0648\u06a9\u0646 \u062a\u0644\u0627\u0634 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u067e\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u0628\u06c1\u0645 \u0627\u0646\u062f\u0627\u0632 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-understanding-intents\">\u0646\u06cc\u062a \u06a9\u0648 \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4<\/h3>\n<p>\u06cc\u0627\u062f \u0631\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06c1\u0645 \u0646\u06d2 Python \u0645\u06cc\u06ba \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0645\u0648\u0627\u062f \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u06c1\u0644\u06cc\u062a \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0641\u0639\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0628\u0627\u062a \u06a9\u06cc \u062a\u06be\u06cc\u061f \u06c1\u0645 \u0627\u0628 \u0627\u06cc\u0633\u0627 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">intents = discord.Intents.default()\nintents.message_content = True\n<\/code><\/pre>\n<p>\u067e\u06c1\u0644\u06cc \u0644\u0627\u0626\u0646 Discord \u06a9\u06d2 \u0627\u0631\u0627\u062f\u0648\u06ba \u06a9\u0627 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0633\u06cc\u0679 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u06cc \u0644\u0627\u0626\u0646 \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0645\u0648\u0627\u062f \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u06cc\u06c1 \u0627\u0631\u0627\u062f\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">bot = commands.Bot(\n    command_prefix=\"!\",\n    intents=intents\n)\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>command_prefix=\"!\"<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0645\u0627\u0631\u0627 \u0628\u0648\u0679 \u0627\u0646 \u06a9\u0645\u0627\u0646\u0688\u0632 \u06a9\u0648 \u067e\u06c1\u0686\u0627\u0646 \u0644\u06d2 \u06af\u0627 \u062c\u0648 \u0627\u0633 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba: <code>!<\/code>.<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">!hello\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>intents=intents<\/code> \u062d\u0635\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u06af\u0626\u06cc \u0627\u062c\u0627\u0632\u062a\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u062f\u0648 \u0645\u0631\u0627\u062d\u0644 \u06c1\u06cc\u06ba\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u0628\u0648\u0679 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0627 \u0645\u0648\u0627\u062f \u0648\u0635\u0648\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u0627\u0626\u062a\u06be\u0648\u0646 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u0628\u062a\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0627 \u0645\u0648\u0627\u062f \u0648\u0635\u0648\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">import os\nimport discord\n\nfrom dotenv import load_dotenv\nfrom discord.ext import commands\n\nload_dotenv()\n\nTOKEN = os.getenv(\"DISCORD_TOKEN\")\n\nif not TOKEN:\n    raise RuntimeError(\"DISCORD_TOKEN is not set.\")\n\nintents = discord.Intents.default()\nintents.message_content = True\n\nbot = commands.Bot(\n    command_prefix=\"!\",\n    intents=intents\n)\n<\/code><\/pre>\n<p>\u0627\u0628 \u06c1\u0645\u0627\u0631\u06d2 \u0628\u0648\u0679 \u0646\u06d2 \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0644\u0648\u0688 \u06a9\u0631 \u062f\u06cc\u0627 \u06c1\u06d2\u06d4 <code>discord.py<\/code> \u062c\u0628 \u0622\u067e Discord \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06c1\u0645 \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06cc\u0627 \u067e\u0648\u0686\u06be\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-what-is-ctx\">\u06cc\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2 <code>ctx<\/code>?<\/h3>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u0633\u06cc\u06a9\u06be\u062a\u06d2 \u0648\u0642\u062a \u06cc\u06c1 \u0639\u062c\u06cc\u0628 \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">async def hello(ctx):\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2 <code>ctx<\/code>? <code>ctx<\/code> \u0645\u062e\u0641\u0641 <strong>\u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642<\/strong>. \u0627\u0633 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0622\u067e \u06a9\u06c1\u06c1 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p>\u062c\u0633 \u0646\u06d2 \u062d\u06a9\u0645 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u06cc\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06c1 \u06a9\u0633 \u0633\u0631\u0648\u0631 \u0633\u06d2 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06c1 \u06a9\u0633 \u0686\u06cc\u0646\u0644 \u0633\u06d2 \u0622\u06cc\u0627 \u06c1\u06d2\u061f<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0633 \u067e\u06cc\u063a\u0627\u0645 \u0646\u06d2 \u0627\u0633 \u06a9\u0648 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u06cc\u0627\u061f<\/p>\n<\/li>\n<\/ul>\n<p>\u067e\u06be\u0631:<\/p>\n<pre><code class=\"language-python\">await ctx.send(\"Hello!\")\n<\/code><\/pre>\n<p>\u0637\u0631\u06cc\u0642\u06c1:<\/p>\n<blockquote>\n<p>&quot;\u0627\u0633 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u06a9\u0645\u0627\u0646\u0688 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4&#8221;<\/p>\n<\/blockquote>\n<h3 id=\"heading-why-does-everything-say-async-and-await\">\u06cc\u06c1 \u0633\u0628 \u06a9\u06cc\u0648\u06ba \u06a9\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 <code>async<\/code> \u0627\u0648\u0631 <code>await<\/code>?<\/h3>\n<p>\u06cc\u06c1 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u062c\u0627\u0646 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">async def hello(ctx):\n<\/code><\/pre>\n<p>\u0627\u0648\u0631:<\/p>\n<pre><code class=\"language-python\">await ctx.send(...)\n<\/code><\/pre>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u06ba \u06a9\u0627\u0641\u06cc \u0648\u0642\u062a \u06af\u0632\u0627\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0648\u06c1 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p>\u067e\u06cc\u063a\u0627\u0645<\/p>\n<\/li>\n<li>\n<p>\u0645\u0645\u0627\u062b\u0644 \u0631\u062f\u0639\u0645\u0644<\/p>\n<\/li>\n<li>\n<p>API \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a<\/p>\n<\/li>\n<li>\n<p>\u0679\u0627\u0626\u0645\u0631<\/p>\n<\/li>\n<li>\n<p>\u062f\u06cc\u06af\u0631 \u0648\u0627\u0642\u0639\u0627\u062a<\/p>\n<\/li>\n<\/ul>\n<p>Python \u06a9\u06cc \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u06a9\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a\u06cc\u06ba \u0622\u067e \u06a9\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u062f\u06cc\u06af\u0631 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u062e\u0644\u0644 \u0688\u0627\u0644\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0646 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u0648\u06ba \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u067e\u0646\u0627 \u067e\u06c1\u0644\u0627 \u0628\u0648\u0679 \u0628\u0646\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u0648 \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u0645\u0627\u06c1\u0631 \u0628\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686\u0648\u06d4 <code>await<\/code> \u062c\u06cc\u0633\u06d2:<\/p>\n<blockquote>\n<p>&quot;\u0627\u0633 \u06a9\u0627\u0645 \u06a9\u0648 \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u0631\u0648\u06a9\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u0646\u06c1 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u0628\u0648\u0679 \u06a9\u0648 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u062f\u06cc\u06ba\u06d4&#8221;<\/p>\n<\/blockquote>\n<h3 id=\"heading-run-the-bot\">\u0628\u0648\u0679 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h3>\n<p>\u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">python bot.py\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0633\u0628 \u06a9\u0686\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0622\u067e \u06a9\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u06a9\u0648 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0633\u06d2 \u0645\u0644\u062a\u0627 \u062c\u0644\u062a\u0627 \u06a9\u0686\u06be \u067e\u0631\u0646\u0679 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2:<\/p>\n<pre><code class=\"language-text\">Logged in as StoryBot\n<\/code><\/pre>\n<p>\u0627\u0628 \u0627\u067e\u0646\u06d2 Discord \u0633\u0631\u0648\u0631 \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0679\u0627\u0626\u067e \u06a9\u0631\u06cc\u06ba: <code>!hello<\/code>. \u0628\u0648\u0679 \u06a9\u0648 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<p>\u0645\u0628\u0627\u0631\u06a9 \u06c1\u0648! \u0622\u067e \u0646\u06d2 \u0628\u0627\u0636\u0627\u0628\u0637\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0627\u067e\u0646\u0627 Discord \u0628\u0648\u0679 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0622\u0626\u06cc\u06d2 \u0627\u0633\u06d2 \u062f\u0644\u0686\u0633\u067e \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-build-the-storytelling-system\">\u06a9\u06c1\u0627\u0646\u06cc \u0633\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631<\/h2>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u0626\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u06a9\u06c1\u0627\u0646\u06cc \u0633\u0646\u0627\u0646\u06d2 \u06a9\u0627 \u06a9\u0645\u0627\u0646\u0688 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631 <code>bot.py<\/code>\u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">import random\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u06c1\u0645 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06d2 \u06a9\u0686\u06be \u0639\u0646\u0627\u0635\u0631 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">story_locations = [\n    \"an abandoned library\",\n    \"a mysterious island\",\n    \"a futuristic city\",\n    \"a hidden underground laboratory\",\n    \"a forest that never appears on maps\"\n]\n\nstory_items = [\n    \"a glowing key\",\n    \"an ancient notebook\",\n    \"a strange compass\",\n    \"a locked metal box\",\n    \"a mysterious photograph\"\n]\n\nstory_events = [\n    \"You hear footsteps behind you.\",\n    \"The lights suddenly turn off.\",\n    \"A hidden door opens nearby.\",\n    \"Your phone starts displaying a message from an unknown sender.\",\n    \"You notice that the room has changed.\"\n]\n<\/code><\/pre>\n<p>\u0627\u0628 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0645\u0627\u0646\u0688 \u0644\u06a9\u06be\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def story(ctx):\n    location = random.choice(story_locations)\n    item = random.choice(story_items)\n    event = random.choice(story_events)\n\n    story_text = (\n        f\"You wake up in {location}.nn\"\n        f\"Next to you is {item}.nn\"\n        f\"{event}nn\"\n        \"What do you do?\"\n    )\n\n    await ctx.send(story_text)\n<\/code><\/pre>\n<p>\u0627\u0628 <code>!story<\/code> \u0622\u067e \u062a\u0634\u06a9\u06cc\u0644 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">You wake up in a futuristic city.\n\nNext to you is an ancient notebook.\n\nA hidden door opens nearby.\n\nWhat do you do?\n<\/code><\/pre>\n<p>\u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0645\u062e\u062a\u0644\u0641 \u0686\u06cc\u0632 \u0645\u0644\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u06a9\u06cc\u0648\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">random.choice(...)\n<\/code><\/pre>\n<p>\u0627\u0632\u06af\u0631 \u06c1\u0631 \u0641\u06c1\u0631\u0633\u062a \u0633\u06d2 \u062a\u0635\u0627\u062f\u0641\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u0622\u0626\u0679\u0645 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u062a\u06a9\u0646\u06cc\u06a9 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0686\u0627\u0646\u06a9 \u0628\u0648\u0679 \u0633\u06cc\u0646\u06a9\u0691\u0648\u06ba \u0645\u062e\u062a\u0644\u0641 \u0627\u0645\u062a\u0632\u0627\u062c\u0627\u062a \u067e\u06cc\u062f\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-lets-make-the-story-remember-the-user\">\u0622\u0626\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u062c\u0648 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u06cc\u0627\u062f \u0631\u06a9\u06be\u06d2<\/h3>\n<p>\u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06c1\u0627\u0646\u06cc\u0627\u06ba \u0645\u0632\u06d2 \u06a9\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u06a9\u06c1\u0627\u0646\u06cc\u0627\u06ba \u0627\u0648\u0631 \u0628\u06be\u06cc \u0628\u06c1\u062a\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0628 \u0628\u0648\u0679 \u06cc\u0627\u062f \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u0627\u06cc\u06a9 \u0644\u063a\u062a \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">user_stories = {}\n<\/code><\/pre>\n<p>\u0644\u063a\u062a \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">user ID \u2192 current story\n<\/code><\/pre>\n<p>\u0627\u0628 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u06a9\u0645\u0627\u0646\u0688 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def story(ctx):\n    user_id = ctx.author.id\n\n    location = random.choice(story_locations)\n    item = random.choice(story_items)\n    event = random.choice(story_events)\n\n    user_stories[user_id] = {\n        \"location\": location,\n        \"item\": item,\n        \"event\": event\n    }\n\n    await ctx.send(\n        f\"You wake up in {location}.nn\"\n        f\"Next to you is {item}.nn\"\n        f\"{event}nn\"\n        \"What do you do?\"\n    )\n<\/code><\/pre>\n<p>\u0627\u0628 \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0627\u06cc\u06a9\u0679\u0648 \u06a9\u06c1\u0627\u0646\u06cc \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-add-a-story-choice\">\u06a9\u06c1\u0627\u0646\u06cc \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0622\u0626\u06cc\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u0627\u0646\u062a\u062e\u0627\u0628 \u062f\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def choose(ctx, choice: str):\n    user_id = ctx.author.id\n\n    if user_id not in user_stories:\n        await ctx.send(\"You don't have an active story. Try `!story` first.\")\n        return\n\n    choice = choice.lower()\n\n    if choice == \"left\":\n        response = (\n            \"You head left and discover a room filled with old maps. \"\n            \"One of them has your name written on it.\"\n        )\n\n    elif choice == \"right\":\n        response = (\n            \"You head right and find a staircase leading toward \"\n            \"a strange blue light.\"\n        )\n\n    else:\n        response = \"Try choosing `left` or `right`.\"\n\n    await ctx.send(response)\n<\/code><\/pre>\n<p>\u0627\u0628 \u0635\u0627\u0631\u0641 \u0679\u0627\u0626\u067e \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!choose left\n<\/code><\/pre>\n<p>\u06cc\u0627:<\/p>\n<pre><code class=\"language-text\">!choose right\n<\/code><\/pre>\n<p>\u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648 \u0646\u0648\u0679 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">async def choose(ctx, choice: str):\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>choice<\/code> \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0627\u06cc\u06a9 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06d2 \u0628\u0639\u062f \u0645\u062a\u0646 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u0648:<\/p>\n<pre><code class=\"language-text\">!choose left\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0627\u0633 \u0637\u0631\u062d \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">choice = \"left\"\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0627\u062a\u0646\u06d2 \u0622\u0633\u0627\u0646 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u06a9\u0645\u0627\u0646\u0688 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9<\/strong> \u0679\u0648\u0644\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u06cc\u0679 \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0648\u06ba \u0645\u06cc\u06ba \u06a9\u0645\u0627\u0646\u0688\u0632 \u0628\u0646\u0627\u0646\u0627 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645\u0627\u0631\u06d2 \u0645\u0639\u0627\u0645\u0644\u06d2 \u0645\u06cc\u06ba\u060c <code>discord.py<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0645\u0627\u0646\u0688 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0688\u06cc\u06a9\u0648\u0631\u06cc\u0679\u0631\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 Python \u0641\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0648 Discord \u06a9\u0645\u0627\u0646\u0688 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 <code>@bot.command()<\/code>.<\/p>\n<p>\u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0633\u06cc \u0646\u06d2 \u0627\u0633\u06d2 \u0679\u0627\u0626\u067e \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 <code>!choose<\/code>, <code>discord.py<\/code> \u06cc\u06c1 \u06c1\u0645\u06cc\u06ba \u0645\u062f\u062f\u06af\u0627\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0646\u06af \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0648 \u067e\u06c1\u0686\u0627\u0646\u062a\u0627 \u06c1\u06d2\u060c \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u062f\u0644\u0627\u0626\u0644 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0641\u0646\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0679\u0627\u0626\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!choose left\n<\/code><\/pre>\n<p><code>discord.py<\/code>    \u06c1\u0645 \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0646\u062a\u062e\u0627\u0628 \u0627\u06cc\u06a9 \u062d\u06a9\u0645 \u06c1\u06d2\u06d4 <code>\"left\"<\/code> \u062f\u0644\u06cc\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0646\u06d2 \u06c1\u0645\u06cc\u06ba \u0628\u0644\u0627\u0646\u0627 \u06c1\u06d2\u06d4 <code>choose()<\/code> \u06cc\u06c1 \u0627\u0633 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-add-a-casual-chat-command\">\u0622\u0631\u0627\u0645 \u062f\u06c1 \u0627\u0648\u0631 \u067e\u0631\u0633\u06a9\u0648\u0646 \u0686\u06cc\u0679 \u06a9\u0645\u0627\u0646\u0688\u0632 \u0634\u0627\u0645\u0644 \u06a9\u06cc \u06af\u0626\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0628 \u0622\u0626\u06cc\u06d2 \u0627\u06cc\u06a9 \u0628\u0648\u0679 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633 \u0645\u06cc\u06ba \u0628\u0646\u06cc\u0627\u062f\u06cc \u0628\u0627\u062a \u0686\u06cc\u062a \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0628\u0691\u06d2 \u0644\u06cc\u0646\u06af\u0648\u06cc\u062c \u0645\u0627\u0688\u0644 API \u0645\u06cc\u06ba \u0644\u06af\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a AI \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0686\u06cc\u0679 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u0626\u06cc\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0631\u0633\u067e\u0627\u0646\u0633 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06c1\u0645 \u06a9\u0686\u06be \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u0627\u0648\u0631 \u0645\u0645\u06a9\u0646\u06c1 \u062c\u0648\u0627\u0628\u0627\u062a \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0627\u06cc\u06a9 \u0644\u063a\u062a \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">chat_responses = {\n    \"hello\": [\n        \"Hey! What's up?\",\n        \"Hello! How's your day going?\",\n        \"Hi! What are you working on?\"\n    ],\n    \"python\": [\n        \"Python is a great language for beginners because its syntax is pretty readable.\",\n        \"If you're learning Python, try building something instead of only watching tutorials.\"\n    ],\n    \"discord\": [\n        \"Discord bots are a fun way to practice Python because you get instant feedback.\",\n        \"Once you understand commands and events, you can build some surprisingly complex bots.\"\n    ]\n}\n\nThink of `chat_responses` as a small collection of things our bot knows how to talk about. Each key, such as `\"python\"` or `\"discord\"`, represents a keyword the bot can look for. The value associated with each key is a list of possible responses.\n\nWe use a list instead of a single response so the bot doesn't give exactly the same answer every time. Later, we'll randomly choose one of these responses.\n\nNow let's create the actual `!chat` command:\n\n```python\n@bot.command()\nasync def chat(ctx, *, message: str):\n    text = message.lower()\n\n    for keyword, responses in chat_responses.items():\n        if keyword in text:\n            await ctx.send(random.choice(responses))\n            return\n\n    await ctx.send(\n        \"I'm still learning how to respond to that. \"\n        \"Try talking to me about Python or Discord!\"\n    )\n<\/code><\/pre>\n<p>\u06cc\u06c1\u0627\u06ba \u06a9\u0686\u06be \u0686\u06cc\u0632\u06cc\u06ba \u0686\u0644 \u0631\u06c1\u06cc \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u0626\u06cc\u06d2 \u0627\u0646 \u06a9\u0648 \u062a\u0648\u0691\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u06c1 \u062d\u0635\u06c1 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06c1\u06d2.<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def chat(ctx, *, message: str):\n<\/code><\/pre>\n<p>\u0627\u0633\u06d2 \u0645\u0648\u0691 \u062f\u06cc\u06ba\u06d4 <code>chat()<\/code> \u06cc\u06c1 Discord \u06a9\u0645\u0627\u0646\u0688\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>*<\/code> \u06cc\u06c1 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>discord.py<\/code> \u062d\u06a9\u0645 \u06a9\u06d2 \u0628\u0639\u062f \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0644\u06cc\u0644 \u0633\u0645\u062c\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0679\u0627\u0626\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!chat I want to learn Python\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u067e\u0648\u0631\u0627 \u062c\u0645\u0644\u06c1 <code>!chat<\/code> \u06a9\u06cc \u0642\u062f\u0631 \u0628\u0646 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>message<\/code>:<\/p>\n<pre><code class=\"language-python\">message = \"I want to learn Python\"\n<\/code><\/pre>\n<p>\u06cc\u06c1\u0627\u06ba \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">text = message.lower()\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u0686\u06be\u0648\u0679\u06d2 \u062d\u0631\u0648\u0641 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u062f\u06d2 \u06af\u0627\u06d4 \u062f\u0648\u0633\u0631\u06d2 \u0627\u0644\u0641\u0627\u0638 \u0645\u06cc\u06ba <code>Python<\/code>, <code>python<\/code>\u0627\u0648\u0631 <code>PYTHON<\/code> \u06c1\u0631 \u06a9\u0648\u0626\u06cc \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 <code>python<\/code>. \u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644\u062a\u06cc\u06ba \u0686\u06be\u0648\u0679 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0627\u0644\u0641\u0627\u0638 \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0628\u0691\u06d2 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0628 \u06c1\u0645 \u0644\u0648\u067e \u067e\u0631 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">for keyword, responses in chat_responses.items():\n<\/code><\/pre>\n<p><code>.items()<\/code>    \u0622\u0626\u06cc\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06cc \u062c\u0648\u0627\u0628\u06cc \u0641\u06c1\u0631\u0633\u062a \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0644\u0648\u067e \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646\u060c <code>keyword<\/code> \u0627\u0633 \u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06cc\u06ba: <code>\"python\"<\/code>\u062c\u0628\u06a9\u06c1 <code>responses<\/code> \u0645\u062a\u0639\u0644\u0642\u06c1 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">if keyword in text:\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0644\u0641\u0638 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645 \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0628\u06be\u06cc \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0635\u0627\u0631\u0641 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!chat I want to learn Python\n<\/code><\/pre>\n<p>\u0644\u0648\u0626\u0631 \u06a9\u06cc\u0633 \u0648\u0631\u0698\u0646 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">i want to learn python\n<\/code><\/pre>\n<p>\u0633\u06d2 <code>\"python\"<\/code> \u0634\u0631\u0637 \u0635\u062d\u06cc\u062d \u06c1\u06d2 \u0627\u06af\u0631 \u06cc\u06c1 \u0627\u0633 \u0645\u062a\u0646 \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u06d4<\/p>\n<p>\u0628\u0648\u0679 \u067e\u06be\u0631 \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u0631\u062f\u0639\u0645\u0644 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">await ctx.send(random.choice(responses))\n<\/code><\/pre>\n<p><code>random.choice()<\/code>    \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0633\u06d2 \u0627\u06cc\u06a9 \u0622\u0626\u0679\u0645 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u060c <code>ctx.send()<\/code> \u0648\u06c1 \u062c\u0648\u0627\u0628 \u0627\u067e\u0646\u06d2 Discord \u0686\u06cc\u0646\u0644 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba\u060c \u0648\u06c1\u0627\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">return\n<\/code><\/pre>\n<p>\u0645\u0645\u0627\u062b\u0644 \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 \u0645\u0644\u0646\u06d2 \u067e\u0631 \u0641\u0646\u06a9\u0634\u0646 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0628\u0648\u0679 \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u06be\u06cc \u0644\u0648\u067e \u062f\u0648\u0633\u0631\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u0627 \u0631\u06c1\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0645\u0627\u062b\u0644 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u0646\u06c1 \u06c1\u0648\u06ba \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u06af\u0627\u061f<\/p>\n<p>\u06cc\u06c1 \u062d\u0635\u06c1 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">await ctx.send(\n    \"I'm still learning how to respond to that. \"\n    \"Try talking to me about Python or Discord!\"\n)\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 \u062a\u0644\u0627\u0634 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0644\u0648\u067e \u062e\u062a\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0628\u0648\u0679 \u0627\u0633 \u06a9\u06cc \u0628\u062c\u0627\u0626\u06d2 \u06cc\u06c1 \u0641\u0627\u0644 \u0628\u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">!chat I like pizza\n<\/code><\/pre>\n<p>\u0634\u0627\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>\"hello\"<\/code>, <code>\"python\"<\/code>\u06cc\u0627 <code>\"discord\"<\/code>\u0644\u06c1\u0630\u0627 \u0628\u0648\u0679 \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u062e\u0627\u0635 \u062c\u0648\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u0648\u0679\u0633 \u06a9\u0648 AI \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0622\u0633\u0627\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-add-a-mental-wellness-support-feature\">\u0630\u06c1\u0646\u06cc \u0635\u062d\u062a \u06a9\u06cc \u0645\u0639\u0627\u0648\u0646\u062a \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u06cc \u06af\u0626\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0628 \u0622\u0626\u06cc\u06d2 \u0627\u0646 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u067e\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0648\u062c\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 &quot;\u0639\u0644\u0627\u062c \u06a9\u0627 \u062d\u06a9\u0645&#8221; \u06a9\u06c1\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0627\u0633\u06d2 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">!support\n<\/code><\/pre>\n<p>\u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u06c1\u0645 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba \u0641\u0648\u0631\u06cc \u0627\u0636\u0627\u0641\u06cc \u062f\u0633\u062a\u0628\u0631\u062f\u0627\u0631\u06cc&#8230; \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062a\u0641\u0631\u06cc\u062d\u06cc \u0641\u0644\u0627\u062d \u0648 \u0628\u06c1\u0628\u0648\u062f \u06a9\u0627 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0639\u0627\u0644\u062c \u0646\u06c1\u06cc\u06ba!<\/p>\n<p>\u0628\u0646\u0627\u0646\u0627:<\/p>\n<pre><code class=\"language-python\">support_responses = {\n    \"stress\": [\n        \"That sounds like a lot to handle. Try breaking the situation into one small task at a time.\",\n        \"When everything feels overwhelming, it can help to pause and focus on what needs attention right now.\"\n    ],\n\n    \"school\": [\n        \"School can pile up quickly. Consider choosing one assignment to work on first instead of trying to solve everything at once.\",\n        \"If school stress is getting difficult to manage, talking with a trusted person can make things feel less like something you have to handle alone.\"\n    ],\n\n    \"sad\": [\n        \"I'm sorry you're having a difficult moment. Taking a short break, doing something calming, or talking with someone you trust may help.\",\n        \"You don't have to solve everything immediately. Give yourself some time and consider reaching out to someone you trust.\"\n    ]\n}\n<\/code><\/pre>\n<p>\u0627\u0628 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0645\u0627\u0646\u0688 \u0644\u06a9\u06be\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def support(ctx, *, message: str):\n    text = message.lower()\n\n    for keyword, responses in support_responses.items():\n        if keyword in text:\n            response = random.choice(responses)\n\n            await ctx.send(\n                f\"{response}nn\"\n                \"I'm a bot, not a therapist or medical professional. \"\n                \"If you need personal support, consider talking with \"\n                \"someone you trust.\"\n            )\n            return\n\n    await ctx.send(\n        \"It sounds like something is bothering you. \"\n        \"I can offer general wellness suggestions, but I'm not a therapist. \"\n        \"If you need personal support, consider reaching out to someone you trust.\"\n    )\n<\/code><\/pre>\n<p>\u0627\u0628 \u06a9\u0648\u0626\u06cc \u0679\u0627\u0626\u067e \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!support I'm stressed about school\n<\/code><\/pre>\n<p>\u0628\u0648\u0679 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0627\u0644\u0641\u0627\u0638 \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">school\n<\/code><\/pre>\n<p>\u0627\u067e\u0646\u06d2 \u0627\u0633\u06a9\u0648\u0644 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u062c\u0648\u0627\u0628\u0627\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u062d\u0642\u06cc\u0642\u06cc \u0639\u0648\u0627\u0645\u06cc \u0628\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u062d\u0633\u0627\u0633 \u062d\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0628\u06c1\u062a \u0632\u06cc\u0627\u062f\u06c1 \u0627\u062d\u062a\u06cc\u0627\u0637 \u0633\u06d2 \u062d\u0641\u0627\u0638\u062a\u06cc \u06c1\u06cc\u0646\u0688\u0644\u0646\u06af\u060c \u0679\u06cc\u0633\u0679\u0646\u06af\u060c \u0679\u06cc\u0648\u0646\u0646\u06af\u060c \u0631\u0627\u0632\u062f\u0627\u0631\u06cc\u060c \u0627\u0648\u0631 \u0627\u0636\u0627\u0641\u06d2 \u06a9\u06cc \u0645\u0646\u0637\u0642 \u0686\u0627\u06c1\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h3 id=\"heading-add-a-help-command\">\u0645\u062f\u062f \u06a9\u0645\u0627\u0646\u0688 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u06cc\u06a9 \u0627\u0686\u06be\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u062e\u0648\u062f \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def commands_help(ctx):\n    await ctx.send(\n        \"**Available commands:**n\"\n        \"`!hello` - Say hellon\"\n        \"`!story` - Start a new storyn\"\n        \"`!choose left` - Choose the left pathn\"\n        \"`!choose right` - Choose the right pathn\"\n        \"`!chat <message>` - Have a casual conversationn\"\n        \"`!support <message>` - Get general wellness support\"\n    )\n<\/message><\/message><\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0633\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>Discord \u06a9\u06cc \u0688\u06cc\u0641\u0627\u0644\u0679 \u06c1\u06cc\u0644\u067e \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0637\u0644\u0628 \u06a9\u06cc\u0627 \u062c\u0627 \u0686\u06a9\u0627 \u06c1\u06d2\u06d4 <code>help<\/code>.<\/p>\n<p>\u062a\u0648 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2:<\/p>\n<pre><code class=\"language-python\">async def help(ctx):\n<\/code><\/pre>\n<p>\u06c1\u0645 \u0646\u06d2 \u0627\u067e\u0646\u0627 \u0646\u0627\u0645 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0631\u06a9\u06be\u0627:<\/p>\n<pre><code class=\"language-python\">commands_help\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0622\u067e \u062e\u0648\u062f \u06c1\u06cc \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0648 \u0637\u0644\u0628 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba: <code>!help<\/code>\u0622\u067e \u0627\u0633\u06d2 \u0627\u0633 \u0637\u0631\u062d \u0644\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">@bot.command(name=\"help\")\nasync def commands_help(ctx):\n    ...\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2:<\/p>\n<blockquote>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <code>!help<\/code> \u0627\u0633 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0686\u0627\u06c1\u06d2 Python \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0645\u062e\u062a\u0644\u0641 \u0646\u0627\u0645 \u06c1\u0648\u06d4<\/p>\n<\/blockquote>\n<h3 id=\"heading-improve-error-handling\">\u062e\u0631\u0627\u0628\u06cc \u0633\u06d2 \u0646\u0645\u0679\u0646\u06d2 \u0645\u06cc\u06ba \u0628\u06c1\u062a\u0631\u06cc<\/h3>\n<p>\u0622\u067e \u06a9\u0627 \u0628\u0648\u0679 \u0635\u0631\u0641 \u0627\u0633 \u0648\u062c\u06c1 \u0633\u06d2 \u06a9\u0631\u06cc\u0634 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06c1 \u06a9\u0633\u06cc \u0646\u06d2 \u063a\u0644\u0637 \u06a9\u0645\u0627\u0646\u0688 \u062f\u0631\u062c \u06a9\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">@bot.event\nasync def on_command_error(ctx, error):\n    if isinstance(error, commands.MissingRequiredArgument):\n        await ctx.send(\n            \"You're missing something. Try `!help` to see how the command works.\"\n        )\n\n    elif isinstance(error, commands.CommandNotFound):\n        return\n\n    else:\n        print(f\"Error: {error}\")\n<\/code><\/pre>\n<p>\u0627\u0628 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0679\u0627\u0626\u067e \u06a9\u0631\u06d2:<\/p>\n<pre><code class=\"language-text\">!chat\n<\/code><\/pre>\n<p>\u0628\u0648\u0679 \u06a9\u0648 \u067e\u06cc\u063a\u0627\u0645 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0622\u067e \u06af\u0641\u062a\u06af\u0648 \u0645\u06cc\u06ba \u0645\u0628\u06c1\u0645 \u063a\u0644\u0637\u06cc\u0627\u06ba \u0688\u0627\u0644\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0645\u062f\u062f\u06af\u0627\u0631 \u062a\u0628\u0635\u0631\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648\u0627\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-put-everything-together\">\u0633\u0628 \u06a9\u0686\u06be \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0631\u06a9\u06be\u0648<\/h2>\n<p>\u0627\u0633 \u0645\u0648\u0642\u0639 \u067e\u0631 \u0622\u067e \u06a9\u06cc <code>bot.py<\/code> \u06cc\u06c1 \u06a9\u0686\u06be \u0627\u0633 \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u0633\u06a9\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">import os\nimport random\n\nimport discord\nfrom discord.ext import commands\nfrom dotenv import load_dotenv\n\n\nload_dotenv()\n\nTOKEN = os.getenv(\"DISCORD_TOKEN\")\n\nif not TOKEN:\n    raise RuntimeError(\"DISCORD_TOKEN is not set.\")\n\n\nintents = discord.Intents.default()\nintents.message_content = True\n\nbot = commands.Bot(\n    command_prefix=\"!\",\n    intents=intents\n)\n\n\nstory_locations = [\n    \"an abandoned library\",\n    \"a mysterious island\",\n    \"a futuristic city\",\n    \"a hidden underground laboratory\",\n    \"a forest that never appears on maps\"\n]\n\nstory_items = [\n    \"a glowing key\",\n    \"an ancient notebook\",\n    \"a strange compass\",\n    \"a locked metal box\",\n    \"a mysterious photograph\"\n]\n\nstory_events = [\n    \"You hear footsteps behind you.\",\n    \"The lights suddenly turn off.\",\n    \"A hidden door opens nearby.\",\n    \"Your phone starts displaying a message from an unknown sender.\",\n    \"You notice that the room has changed.\"\n]\n\n\nuser_stories = {}\n\n\nchat_responses = {\n    \"hello\": [\n        \"Hey! What's up?\",\n        \"Hello! How's your day going?\",\n        \"Hi! What are you working on?\"\n    ],\n\n    \"python\": [\n        \"Python is a great language for beginners because its syntax is pretty readable.\",\n        \"If you're learning Python, try building something instead of only watching tutorials.\"\n    ],\n\n    \"discord\": [\n        \"Discord bots are a fun way to practice Python because you get instant feedback.\",\n        \"Once you understand commands and events, you can build some surprisingly complex bots.\"\n    ]\n}\n\n\nsupport_responses = {\n    \"stress\": [\n        \"That sounds like a lot to handle. Try breaking the situation into one small task at a time.\",\n        \"When everything feels overwhelming, it can help to pause and focus on what needs attention right now.\"\n    ],\n\n    \"school\": [\n        \"School can pile up quickly. Consider choosing one assignment to work on first instead of trying to solve everything at once.\",\n        \"If school stress is getting difficult to manage, talking with a trusted person can make things feel less like something you have to handle alone.\"\n    ],\n\n    \"sad\": [\n        \"I'm sorry you're having a difficult moment. Taking a short break, doing something calming, or talking with someone you trust may help.\",\n        \"You don't have to solve everything immediately. Give yourself some time and consider reaching out to someone you trust.\"\n    ]\n}\n\n\n@bot.event\nasync def on_ready():\n    print(f\"Logged in as {bot.user}\")\n\n\n@bot.command()\nasync def hello(ctx):\n    await ctx.send(\"Hello! I'm online.\")\n\n\n@bot.command()\nasync def story(ctx):\n    user_id = ctx.author.id\n\n    location = random.choice(story_locations)\n    item = random.choice(story_items)\n    event = random.choice(story_events)\n\n    user_stories[user_id] = {\n        \"location\": location,\n        \"item\": item,\n        \"event\": event\n    }\n\n    await ctx.send(\n        f\"You wake up in {location}.nn\"\n        f\"Next to you is {item}.nn\"\n        f\"{event}nn\"\n        \"What do you do?\"\n    )\n\n\n@bot.command()\nasync def choose(ctx, choice: str):\n    user_id = ctx.author.id\n\n    if user_id not in user_stories:\n        await ctx.send(\n            \"You don't have an active story. Try `!story` first.\"\n        )\n        return\n\n    choice = choice.lower()\n\n    if choice == \"left\":\n        response = (\n            \"You head left and discover a room filled with old maps. \"\n            \"One of them has your name written on it.\"\n        )\n\n    elif choice == \"right\":\n        response = (\n            \"You head right and find a staircase leading toward \"\n            \"a strange blue light.\"\n        )\n\n    else:\n        response = \"Try choosing `left` or `right`.\"\n\n    await ctx.send(response)\n\n\n@bot.command()\nasync def chat(ctx, *, message: str):\n    text = message.lower()\n\n    for keyword, responses in chat_responses.items():\n        if keyword in text:\n            await ctx.send(random.choice(responses))\n            return\n\n    await ctx.send(\n        \"I'm still learning how to respond to that. \"\n        \"Try talking to me about Python or Discord!\"\n    )\n\n\n@bot.command()\nasync def support(ctx, *, message: str):\n    text = message.lower()\n\n    for keyword, responses in support_responses.items():\n        if keyword in text:\n            response = random.choice(responses)\n\n            await ctx.send(\n                f\"{response}nn\"\n                \"I'm a bot, not a therapist or medical professional. \"\n                \"If you need personal support, consider talking with \"\n                \"someone you trust.\"\n            )\n            return\n\n    await ctx.send(\n        \"It sounds like something is bothering you. \"\n        \"I can offer general wellness suggestions, but I'm not a therapist. \"\n        \"If you need personal support, consider reaching out to someone you trust.\"\n    )\n\n\n@bot.command(name=\"help\")\nasync def commands_help(ctx):\n    await ctx.send(\n        \"**Available commands:**n\"\n        \"`!hello` - Say hellon\"\n        \"`!story` - Start a new storyn\"\n        \"`!choose left` - Choose the left pathn\"\n        \"`!choose right` - Choose the right pathn\"\n        \"`!chat <message>` - Have a casual conversationn\"\n        \"`!support <message>` - Get general wellness support\"\n    )\n\n\n@bot.event\nasync def on_command_error(ctx, error):\n    if isinstance(error, commands.MissingRequiredArgument):\n        await ctx.send(\n            \"You're missing something. Try `!help` to see how the command works.\"\n        )\n\n    elif isinstance(error, commands.CommandNotFound):\n        return\n\n    else:\n        print(f\"Error: {error}\")\n\n\nbot.run(TOKEN)\n<\/message><\/message><\/code><\/pre>\n<p>\u06cc\u06c1 \u062d\u06cc\u0631\u062a \u0627\u0646\u06af\u06cc\u0632 \u0637\u0648\u0631 \u067e\u0631 \u0642\u0627\u0628\u0644 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0688\u0633\u06a9\u0627\u0631\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0627\u06c1\u0645 \u062d\u062f\u0648\u062f \u06c1\u06cc\u06ba.<\/p>\n<h2 id=\"heading-our-bot-doesnt-actually-remember-anything\">\u06c1\u0645\u0627\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0686\u06be \u06cc\u0627\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u0628 \u062a\u06a9\u060c \u06c1\u0645\u0627\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0633\u0627 \u0645\u0633\u0626\u0644\u06c1 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0648\u0679 \u0686\u06be\u0648\u0691\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u0633\u06d2 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u06cc\u0627\u062f \u0646\u06c1\u06cc\u06ba \u0631\u06c1\u062a\u0627\u06d4<\/p>\n<p>\u0627\u0628\u06be\u06cc \u06c1\u0645 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0627\u0632\u06af\u0631 \u06a9\u06cc \u0644\u063a\u062a \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">user_stories = {}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633 \u0648\u0642\u062a \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0628\u0648\u0679 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 \u062a\u0627\u06c1\u0645\u060c \u062c\u0628 \u0645\u06cc\u06ba \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u0648\u06ba \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba\u060c \u062a\u0648 \u0644\u063a\u062a \u062e\u0627\u0644\u06cc \u0634\u0631\u0648\u0639 \u06c1\u0648\u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0633\u06cc \u062c\u06af\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0648\u06c1 \u062c\u06af\u06c1 <strong>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633<\/strong> \u0627\u0646\u062f\u0631 \u0622\u0648<\/p>\n<p>\u06cc\u06c1 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>SQLite<\/strong>. SQLite \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0632\u06af\u0631 \u0645\u06cc\u06ba \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc SQLite \u0628\u0644\u0679 \u0627\u0646 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 <code>sqlite3<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u06cc\u0648\u0644 \u06c1\u06d2\u060c \u06a9\u0633\u06cc \u0627\u0636\u0627\u0641\u06cc \u062a\u0646\u0635\u06cc\u0628 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-create-the-database\">\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h3>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0627\u0633 \u062f\u0631\u0622\u0645\u062f \u06a9\u0648 \u0627\u0648\u067e\u0631 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>bot.py<\/code>:<\/p>\n<pre><code class=\"language-python\">import sqlite3\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0641\u0627\u0626\u0644 \u0633\u06d2 \u06a9\u0646\u06a9\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">db = sqlite3.connect(\"bot.db\")\ncursor = db.cursor()\n<\/code><\/pre>\n<p>\u067e\u06c1\u0644\u06cc \u0644\u0627\u0626\u0646 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>bot.db<\/code> \u0627\u06af\u0631 \u06cc\u06c1 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0641\u0627\u0626\u0644 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u062a\u0648\u060c SQLite \u0627\u0633\u06d2 \u06a9\u06be\u0648\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u06cc \u0633\u0637\u0631 \u06c1\u06d2\u06d4 <strong>\u06a9\u0631\u0633\u0631<\/strong>. \u0627\u06cc\u06a9 \u06a9\u0631\u0633\u0631 \u06a9\u0648 \u0627\u0632\u06af\u0631 \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u06d2 \u0627\u06cc\u06a9 \u062d\u0635\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0648\u0686\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u06a9\u0645\u0627\u0646\u0688 \u0628\u06be\u06cc\u062c \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u06c1\u0645\u06cc\u06ba \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0679\u06cc\u0628\u0644 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">cursor.execute(\"\"\"\n    CREATE TABLE IF NOT EXISTS user_stories (\n        user_id INTEGER PRIMARY KEY,\n        location TEXT,\n        item TEXT,\n        event TEXT\n    )\n\"\"\")\n\ndb.commit()\n<\/code><\/pre>\n<p>\u0622\u0626\u06cc\u06d2 \u0627\u0633 \u06a9\u0627 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><code>cursor.execute()<\/code>    SQLite \u06a9\u0648 \u0642\u0648\u0633\u06cc\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 SQL \u06a9\u0645\u0627\u0646\u0688 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u06a9\u0645\u0627\u0646\u0688 \u0627\u0633 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u06cc \u06c1\u06d2:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE IF NOT EXISTS user_stories\n<\/code><\/pre>\n<p>\u06cc\u06c1 SQLite \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u06a9\u0627 \u0679\u06cc\u0628\u0644 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u062a\u0627 \u06c1\u06d2: <code>user_stories<\/code>\u062a\u0627\u06c1\u0645\u060c \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u0633 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0648\u06c1 \u0679\u06cc\u0628\u0644 \u0627\u0628\u06be\u06cc \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0642\u0648\u0633\u06cc\u0646 \u0627\u0646 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06c1\u0631 \u0642\u0637\u0627\u0631 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-sql\">user_id INTEGER PRIMARY KEY,\nlocation TEXT,\nitem TEXT,\nevent TEXT\n<\/code><\/pre>\n<p><code>user_id<\/code>    Discord \u0635\u0627\u0631\u0641 \u06a9\u06cc ID \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645 \u0627\u0633\u06d2 \u0627\u0633 \u0637\u0631\u062d \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba: <code>PRIMARY KEY<\/code>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0642\u0637\u0627\u0631 \u06c1\u0648\u06af\u06cc\u06d4<\/p>\n<p><code>location<\/code>, <code>item<\/code>\u0627\u0648\u0631 <code>event<\/code> \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0645\u0639\u0644\u0648\u0645\u0627\u062a\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">db.commit()\n<\/code><\/pre>\n<p>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u0642\u0627\u0645 \u067e\u0631\u060c \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0641\u0627\u0626\u0644 \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u0633 \u06a9\u0627 \u0646\u0627\u0645 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">bot.db\n<\/code><\/pre>\n<p>\u0627\u0633 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06be\u0648\u0644\u0646\u06d2 \u06cc\u0627 \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 SQLite \u06c1\u0645\u0627\u0631\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u06a9\u0627 \u062e\u06cc\u0627\u0644 \u0631\u06a9\u06be\u06d2 \u06af\u06cc\u06d4<\/p>\n<h3 id=\"heading-save-a-users-story\">\u0635\u0627\u0631\u0641 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0628 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062f\u0631\u062c \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0641\u0631\u0636 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">user_id = ctx.author.id\nlocation = \"an abandoned castle\"\nitem = \"a mysterious key\"\nevent = \"a locked door\"\n<\/code><\/pre>\n<p>\u0622\u067e \u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06a9\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">cursor.execute(\n    \"\"\"\n    INSERT OR REPLACE INTO user_stories\n    (user_id, location, item, event)\n    VALUES (?, ?, ?, ?)\n    \"\"\",\n    (user_id, location, item, event)\n)\n\ndb.commit()\n<\/code><\/pre>\n<p>\u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u06a9\u06d2 \u0628\u06cc\u0627\u0646\u0627\u062a SQLite \u06a9\u0648 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>user_stories<\/code> \u0645\u06cc\u0632<\/p>\n<p>\u06a9\u06c1 <code>?<\/code> \u0639\u0644\u0627\u0645\u062a\u06cc\u06ba \u0627\u0635\u0644 \u0627\u0642\u062f\u0627\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u06af\u06c1 \u062f\u0627\u0631 \u06c1\u06cc\u06ba\u06d4 \u0642\u062f\u0631\u06cc\u06ba \u06cc\u06c1\u0627\u06ba \u0627\u0644\u06af \u0633\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">(user_id, location, item, event)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u0633 \u06a9\u06cc\u0648 \u0627\u06cc\u0644 \u0633\u0679\u0631\u0646\u06af \u0645\u06cc\u06ba \u0642\u062f\u0631\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u06c1\u06d2\u06d4<\/p>\n<p><code>INSERT OR REPLACE<\/code>    \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u0628\u06be\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0627\u06af\u0631 \u0627\u0633 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u0627\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u06a9\u06c1\u0627\u0646\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0646 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u067e\u0631\u0627\u0646\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0646\u0626\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-get-the-story-back\">\u06a9\u06c1\u0627\u0646\u06cc \u0648\u0627\u067e\u0633 \u0644\u0648<\/h3>\n<p>\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u0627 \u0635\u0631\u0641 \u0622\u062f\u06be\u0627 \u06a9\u0627\u0645 \u06c1\u06d2\u06d4 \u06c1\u0645\u06cc\u06ba \u0627\u0633\u06d2 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0628\u06be\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u0627\u067e\u0646\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06d2 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc\u0627\u06ba \u0627\u0633 \u0637\u0631\u062d \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">cursor.execute(\n    \"\"\"\n    SELECT location, item, event\n    FROM user_stories\n    WHERE user_id = ?\n    \"\"\",\n    (user_id,)\n)\n\nstory = cursor.fetchone()\n<\/code><\/pre>\n<p>\u0627\u0633 \u0628\u0627\u0631 \u06c1\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>SELECT<\/code> SQLite \u0633\u06d2 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>WHERE<\/code> \u062d\u0635\u06d2 \u0627\u06c1\u0645 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-sql\">WHERE user_id = ?\n<\/code><\/pre>\n<p>SQLite \u06a9\u0648 \u0627\u0633 \u0645\u062e\u0635\u0648\u0635 Discord \u0635\u0627\u0631\u0641 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0642\u0637\u0627\u0631\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06be\u0631:<\/p>\n<pre><code class=\"language-python\">story = cursor.fetchone()\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0648 \u067e\u06c1\u0644\u0627 \u0645\u0645\u0627\u062b\u0644 \u0646\u062a\u06cc\u062c\u06c1 \u0645\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u0627\u0633 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u06a9\u06c1\u0627\u0646\u06cc \u06c1\u06d2\u060c <code>story<\/code> \u0627\u0646 \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0646\u06c1\u06cc\u06ba \u062a\u0648 <code>story<\/code> \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 <code>None<\/code>.<\/p>\n<p>\u06c1\u0645 \u0627\u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">if story:\n    location, item, event = story\n\n    await ctx.send(\n        f\"You're currently in {location}. \"\n        f\"You have {item}, and you're facing {event}.\"\n    )\nelse:\n    await ctx.send(\"I don't have a saved story for you yet!\")\n<\/code><\/pre>\n<p>\u0628\u0648\u0679 \u0627\u0628 \u0627\u0632\u06af\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u06be\u06cc \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-put-it-into-a-command\">\u06a9\u0645\u0627\u0646\u0688 \u0645\u06cc\u06ba \u0688\u0627\u0644\u0648<\/h3>\n<p>\u0622\u067e \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u0633\u06d2 \u0628\u062f\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u06a9\u06c1\u0627\u0646\u06cc\u0648\u06ba \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def status(ctx):\n    user_id = ctx.author.id\n\n    cursor.execute(\n        \"\"\"\n        SELECT location, item, event\n        FROM user_stories\n        WHERE user_id = ?\n        \"\"\",\n        (user_id,)\n    )\n\n    story = cursor.fetchone()\n\n    if story:\n        location, item, event = story\n\n        await ctx.send(\n            f\"You're currently in {location}. \"\n            f\"You have {item}, and you're facing {event}.\"\n        )\n    else:\n        await ctx.send(\n            \"You don't have a saved story yet. \"\n            \"Start one with `!story`!\"\n        )\n<\/code><\/pre>\n<p>\u0627\u0628 \u0635\u0627\u0631\u0641 \u0679\u0627\u0626\u067e \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!status\n<\/code><\/pre>\n<p>\u0628\u0648\u0679 \u0627\u067e\u0646\u06cc \u06a9\u06c1\u0627\u0646\u06cc\u0648\u06ba \u06a9\u0648 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0635\u0644 \u0644\u063a\u062a \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u0628\u0691\u06cc \u0628\u06c1\u062a\u0631\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0644\u063a\u062a \u0635\u0631\u0641 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u06cc\u0627\u062f \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2 \u062c\u0628 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 SQLite \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0628\u0648\u0679 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0628\u06be\u06cc \u06cc\u06c1 \u0648\u06c1\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u0631\u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0691\u06d2 \u0628\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0648\u06c1 \u0628\u0627\u0644\u0622\u062e\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u062a\u0631\u062c\u06cc\u062d\u0627\u062a\u060c \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u060c \u0627\u0646\u0648\u06cc\u0646\u0679\u0631\u06cc\u060c \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0633\u0631\u06af\u0632\u0634\u062a\u060c \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u0688\u06cc\u0679\u0627 \u062c\u06cc\u0633\u06cc \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9\u0646 \u0627\u0628\u06be\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0633\u0627\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0628\u0648\u0679 \u06a9\u0648 \u062d\u0642\u06cc\u0642\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-adding-real-ai-chat\">\u0627\u0635\u0644\u06cc AI \u0686\u06cc\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u0648 AI \u0645\u0627\u0688\u0644 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c <strong>\u06af\u0644\u06d2 \u0644\u06af\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0686\u06c1\u0631\u06c1<\/strong>.<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0627\u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06c1\u06d2 \u062a\u0648\u060c Hugging Face \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0634\u06cc\u0646 \u0644\u0631\u0646\u0646\u06af \u0645\u0627\u0688\u0644\u0632 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u0679\u0633 \u06a9\u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u0646\u06d2\u060c \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 AI \u0679\u0648\u0644\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0628\u06c1\u062a \u0628\u0691\u06cc \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u0627\u0648\u0631 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4<\/p>\n<p>Hugging Face \u0627\u06cc\u0633\u06d2 \u0679\u0648\u0644\u0632 \u0628\u06be\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0648\u06ba \u06a9\u0648 AI \u0645\u0627\u0688\u0644\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0634\u0631\u0648\u0639 \u0633\u06d2 \u06c1\u06cc \u062a\u0631\u0628\u06cc\u062a \u062f\u06cc\u06d2 \u0628\u063a\u06cc\u0631\u06d4<\/p>\n<p>\u06c1\u0645\u0627\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06c1\u0645 Hugging Face \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <strong>\u0627\u0646\u062f\u0627\u0632\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627<\/strong> \u0635\u0627\u0631\u0641 \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0645\u0639\u0627\u0648\u0646 \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u067e\u0631 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u0627\u0648\u0631 \u062c\u0648\u0627\u0628 \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0645 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a AI \u0645\u0627\u0688\u0644 \u06a9\u06cc \u062a\u0631\u0628\u06cc\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0645\u0627\u0688\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 Python \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u067e\u0646\u06d2 Discord \u0628\u0648\u0679 \u0633\u06d2 \u062c\u0648\u0691\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u062c\u0628 \u06a9\u06c1 \u0622\u067e \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 Hugging Face \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u0622\u0626\u06cc\u06d2 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u0633\u06d2 \u062c\u0648\u0691\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-install-the-hugging-face-library\">\u06c1\u06af \u0641\u06cc\u0633 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>huggingface_hub<\/code>:<\/p>\n<pre><code class=\"language-bash\">pip install -U huggingface_hub\n<\/code><\/pre>\n<p>\u06c1\u0645 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631 \u0686\u06a9\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>python-dotenv<\/code>\u062a\u0648 \u06c1\u0645 \u06a9\u0686\u06be \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>.env<\/code> \u0645\u0627\u062e\u0630 \u06a9\u0648\u0688 \u0633\u06d2 Hugging Face \u0679\u0648\u06a9\u0646 \u06a9\u0648 \u062e\u0627\u0631\u062c \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0686\u06be\u0644\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06af\u0644\u06d2 \u0644\u06af\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0686\u06c1\u0631\u06d2 \u06a9\u0627 \u0679\u0648\u06a9\u0646 \u0627\u0633 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba: <code>.env<\/code>:<\/p>\n<pre><code class=\"language-text\">DISCORD_TOKEN=YOUR_BOT_TOKEN_HERE\nHF_TOKEN=YOUR_HUGGING_FACE_TOKEN_HERE\n<\/code><\/pre>\n<p>\u062a\u0628\u062f\u06cc\u0644\u06cc <code>YOUR_HUGGING_FACE_TOKEN_HERE<\/code> \u0627\u0635\u0644\u06cc \u06af\u0644\u06d2 \u0644\u06af\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0686\u06c1\u0631\u06d2 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0679\u0648\u06a9\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u0679\u0648\u06a9\u0646\u0632 \u06a9\u06cc \u0637\u0631\u062d\u060c <strong>\u0627\u0633 \u0679\u0648\u06a9\u0646 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0646\u06c1 \u06c1\u06cc \u0627\u0633\u06d2 GitHub \u067e\u0631 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong>.<\/p>\n<h3 id=\"heading-create-the-hugging-face-client\">\u06c1\u06af \u0641\u06cc\u0633 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h3>\n<p>\u0627\u0628 \u0627\u0633 \u062f\u0631\u0622\u0645\u062f \u06a9\u0648 \u0627\u0648\u067e\u0631 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>bot.py<\/code>:<\/p>\n<pre><code class=\"language-python\">from huggingface_hub import InferenceClient\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u0679\u0648\u06a9\u0646 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">HF_TOKEN = os.getenv(\"HF_TOKEN\")\n\nif not HF_TOKEN:\n    raise RuntimeError(\"HF_TOKEN is not set.\")\n<\/code><\/pre>\n<p>\u067e\u06c1\u0644\u06cc \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631 \u0633\u06d2 \u0679\u0648\u06a9\u0646 \u0645\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>if<\/code> \u0628\u06cc\u0627\u0646 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0679\u0648\u06a9\u0646 \u0648\u0627\u0642\u0639\u06cc \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c Python \u0631\u06a9 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u0628\u06c1\u0645 \u0627\u0646\u062f\u0627\u0632 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0622\u0645\u062f \u063a\u0644\u0637\u06cc \u062f\u06a9\u06be\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0627\u0628 \u06c1\u0645 Hugging Face \u06a9\u0644\u0627\u0626\u0646\u0679 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">client = InferenceClient(\n    api_key=HF_TOKEN\n)\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>InferenceClient<\/code> \u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0633\u06d2 \u06c1\u0645\u0627\u0631\u0627 Python \u067e\u0631\u0648\u06af\u0631\u0627\u0645 Hugging Face \u06a9\u06cc \u0627\u0646\u0641\u0631\u0646\u0633 \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/p>\n<h3 id=\"heading-connect-the-ai-model-to-the-bot\">AI \u0645\u0627\u0688\u0644\u0632 \u06a9\u0648 \u0628\u0648\u0679\u0633 \u0633\u06d2 \u062c\u0648\u0691\u06cc\u06ba\u06d4<\/h3>\n<p>\u06cc\u06c1 \u0627\u0628 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0627\u06cc\u06a9 \u06a9\u0648 \u0628\u062f\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>!chat<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0645\u0627\u0646\u0688 \u06c1\u06d2 \u062c\u0648 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u0628\u06be\u06cc\u062c\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def chat(ctx, *, message: str):\n    try:\n        response = client.chat_completion(\n            model=\"YOUR_SUPPORTED_MODEL_ID\",\n            messages=[\n                {\n                    \"role\": \"system\",\n                    \"content\": (\n                        \"You are a friendly Discord bot. \"\n                        \"Keep responses helpful, concise, and conversational.\"\n                    )\n                },\n                {\n                    \"role\": \"user\",\n                    \"content\": message\n                }\n            ],\n            max_tokens=200\n        )\n\n        answer = response.choices[0].message.content\n\n        await ctx.send(answer)\n\n    except Exception as error:\n        print(f\"AI error: {error}\")\n        await ctx.send(\n            \"I couldn't generate a response right now. \"\n            \"Please try again later.\"\n        )\n<\/code><\/pre>\n<p>\u06cc\u06c1\u0627\u06ba \u0628\u06c1\u062a \u06a9\u0686\u06be \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u0626\u06cc\u06d2 \u0627\u06cc\u06a9 \u0646\u0638\u0631 \u0688\u0627\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0645 \u0627\u0633\u06cc \u06a9\u0645\u0627\u0646\u0688 \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06c1\u0645 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">@bot.command()\nasync def chat(ctx, *, message: str):\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06c1\u0645\u0627\u0631\u0627 \u06c1\u06d2\u06d4 <code>!chat<\/code> \u0627\u06cc\u06a9 \u06a9\u0645\u0627\u0646\u0688 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0679\u0627\u0626\u067e \u06a9\u0631\u062f\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>message<\/code>.<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">!chat What is Python?\n<\/code><\/pre>\n<p>\u06c1\u0645\u06cc\u06ba \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">message = \"What is Python?\"\n<\/code><\/pre>\n<p>\u0627\u06af\u0644\u0627 \u06c1\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">try:\n<\/code><\/pre>\n<p>\u06cc\u06c1 Python \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0645 \u06a9\u0648\u0688 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u0645\u06a9\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u0622\u067e \u0627\u06cc\u06a9 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u060c \u0622\u067e \u06a9\u0648 \u063a\u06cc\u0631 \u062f\u0633\u062a\u06cc\u0627\u0628 \u0645\u0627\u0688\u0644\u0632\u060c \u063a\u0644\u0637 \u0679\u0648\u06a9\u0646\u0632\u060c \u0639\u0627\u0631\u0636\u06cc \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u0648\u063a\u06cc\u0631\u06c1 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u06c1\u0645 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">response = client.chat_completion(\n<\/code><\/pre>\n<p>Hugging Face \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0686\u06cc\u0679 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4 \u06a9\u06c1 <code>messages<\/code> \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u0645\u06cc\u06ba \u0648\u06c1 \u0645\u06a9\u0627\u0644\u0645\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u0627 \u0622\u067e \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u06d2 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0627 \u0627\u06cc\u06a9 \u06a9\u0631\u062f\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>\"system\"<\/code>:<\/p>\n<pre><code class=\"language-python\">{\n    \"role\": \"system\",\n    \"content\": (\n        \"You are a friendly Discord bot. \"\n        \"Keep responses helpful, concise, and conversational.\"\n    )\n}\n<\/code><\/pre>\n<p>\u0633\u0633\u0679\u0645 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u062f\u0627\u06cc\u0627\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u06c1\u0645 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u0627\u0635\u0644 \u067e\u06cc\u063a\u0627\u0645 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">{\n    \"role\": \"user\",\n    \"content\": message\n}\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0635\u0627\u0631\u0641 \u062f\u0631\u062c \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">!chat What is Python?\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 <code>message<\/code> \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">What is Python?\n<\/code><\/pre>\n<p>\u062a\u0648 \u0645\u0627\u0688\u0644 \u0627\u0633\u06d2 \u0635\u0627\u0631\u0641 \u0633\u06d2 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06c1\u0645\u0627\u0631\u06d2 \u067e\u0627\u0633 \u0628\u06be\u06cc \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">max_tokens=200\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0645\u062a\u0646 \u06a9\u06cc \u0645\u0642\u062f\u0627\u0631 \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0645\u0627\u0688\u0644 \u0627\u06cc\u06a9 \u062c\u0648\u0627\u0628 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0646\u0633\u0628\u062a\u0627\u064b \u0645\u062e\u062a\u0635\u0631 \u0631\u06a9\u06be\u0646\u0627 Discord \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0639\u0646\u06cc \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0686\u06cc\u0679 \u0686\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0645\u062a\u0646 \u06a9\u06d2 \u0628\u0691\u06d2 \u0628\u0644\u0627\u06a9\u0633 \u06a9\u0648 \u067e\u0691\u06be\u0646\u0627 \u06c1\u0645\u06cc\u0634\u06c1 \u062e\u0648\u0634\u06af\u0648\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0628\u06be\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc:<\/p>\n<pre><code class=\"language-python\">model=\"YOUR_SUPPORTED_MODEL_ID\"\n<\/code><\/pre>\n<p>\u0627\u0633 \u0645\u0627\u0688\u0644 \u06a9\u06cc ID \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0622\u067e \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u06c1\u06af \u0641\u06cc\u0633 \u0627\u0646\u0641\u0631\u0646\u0633 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06d2\u06d4 \u06c1\u06af\u0646\u06af \u0641\u06cc\u0633 \u06a9\u06d2 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642: <code>InferenceClient<\/code> \u0622\u067e \u0686\u06cc\u0679 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 Hugging Face Hub \u067e\u0631 \u06c1\u0648\u0633\u0679 \u06a9\u0631\u062f\u06c1 \u0627\u067e\u0646\u06cc \u0645\u0627\u0688\u0644 ID \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0622\u067e \u06a9\u0648 \u062c\u0648\u0627\u0628 \u0633\u06d2 \u0627\u0635\u0644 \u0645\u062a\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<pre><code class=\"language-python\">answer = response.choices[0].message.content\n<\/code><\/pre>\n<p>\u062c\u0648\u0627\u0628 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 <code>choices[0]<\/code> \u067e\u06c1\u0644\u0627 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u062c\u0648\u0627\u0628 \u0645\u0648\u0635\u0648\u0644 \u06a9\u0631\u06cc\u06ba\u060c <code>.message.content<\/code> \u0627\u0635\u0644 \u0645\u062a\u0646 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06be\u0631 \u0627\u0633\u06d2 Discord \u067e\u0631 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">await ctx.send(answer)\n<\/code><\/pre>\n<p>\u067e\u0648\u0631\u0627 \u0639\u0645\u0644 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">User types !chat\n        \u2193\nDiscord sends the command to our bot\n        \u2193\nPython gets the user's message\n        \u2193\nHugging Face receives the message\n        \u2193\nThe AI model generates a response\n        \u2193\nPython gets the generated text\n        \u2193\nThe bot sends it back to Discord\n<\/code><\/pre>\n<h3 id=\"heading-handle-ai-errors\">AI \u062e\u0631\u0627\u0628\u06cc \u0633\u06d2 \u0646\u0645\u0679\u0646\u06d2 \u06a9\u06d2<\/h3>\n<p>\u06a9\u0645\u0627\u0646\u0688 \u06a9\u0627 \u0622\u062e\u0631\u06cc \u062d\u0635\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">except Exception as error:\n    print(f\"AI error: {error}\")\n    await ctx.send(\n        \"I couldn't generate a response right now. \"\n        \"Please try again later.\"\n    )\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u06d4 <code>try<\/code> \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0628\u0644\u0627\u06a9 \u06c1\u06d2 \u062a\u0648\u060c \u0627\u0632\u06af\u0631 \u0627\u06af\u0644\u06d2 \u0627\u06cc\u06a9 \u067e\u0631 \u0686\u06be\u0644\u0627\u0646\u06af \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>except<\/code> \u067e\u0648\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u06a9\u0631\u06cc\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0628\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0679\u0631\u0645\u06cc\u0646\u0644 \u067e\u0631 \u0627\u06cc\u06a9 \u062e\u0631\u0627\u0628\u06cc \u067e\u0631\u0646\u0679 \u06a9\u06cc \u062c\u0627\u0626\u06d2 \u06af\u06cc \u062a\u0627\u06a9\u06c1 \u0622\u067e \u0627\u0633 \u06a9\u06cc \u062a\u062d\u0642\u06cc\u0642\u0627\u062a \u06a9\u0631 \u0633\u06a9\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">print(f\"AI error: {error}\")\n<\/code><\/pre>\n<p>\u062f\u0631\u06cc\u06ba \u0627\u062b\u0646\u0627\u060c Discord \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u067e\u06cc\u063a\u0627\u0645 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u06af\u0627:<\/p>\n<pre><code class=\"language-text\">I couldn't generate a response right now. Please try again later.\n<\/code><\/pre>\n<p>\u06cc\u06c1 API \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0622\u067e \u06a9\u06d2 \u067e\u0648\u0631\u06d2 \u0628\u0648\u0679 \u06a9\u06d2 \u06a9\u0631\u06cc\u0634 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0628\u06c1\u062a\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0648\u0642\u062a \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc AI \u067e\u0631 \u0645\u0628\u0646\u06cc \u06c1\u06d2\u06d4 <code>!chat<\/code> \u062d\u06a9\u0645 \u0622\u067e \u0679\u0627\u0626\u067e \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">!chat Tell me an interesting fact about space.\n<\/code><\/pre>\n<p>\u0645\u0627\u0688\u0644 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u06cc \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062c\u0648\u0627\u0628 \u067e\u06cc\u062f\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u062a \u06cc\u0627\u062f \u0631\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u0628\u0648\u0679 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0627\u06cc\u06a9 \u0628\u06cc\u0631\u0648\u0646\u06cc AI \u0633\u0631\u0648\u0633 \u06a9\u0648 \u0628\u06be\u06cc\u062c \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0627\u067e\u0646\u06d2 AI \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u0648 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0637\u0648\u0631 \u067e\u0631 \u0646\u062c\u06cc \u06cc\u0627 \u062d\u0633\u0627\u0633 \u06af\u0641\u062a\u06af\u0648 \u0646\u06c1 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0633 \u0628\u0648\u0679 \u06a9\u0648 \u062f\u0648\u0633\u0631\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0627\u0633 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0648\u0627\u0636\u062d \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0628\u0648\u0679 \u06a9\u0633 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u0648\u0679 \u06a9\u0648 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0636\u0631\u0648\u0631\u062a \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06cc\u0627 \u0645\u0646\u062a\u0642\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 AI \u0633\u0633\u0679\u0645 \u06a9\u0648 \u067e\u0631\u0627\u0646\u06d2 SQLite \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u06be\u06cc \u0645\u0644\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0622\u067e \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u06cc \u0627\u06cc\u06a9 \u0645\u062d\u062f\u0648\u062f \u0645\u0642\u062f\u0627\u0631 \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0626\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062a\u0639\u0644\u0642\u06c1 \u067e\u0631\u0627\u0646\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0628\u06be\u06cc\u062c \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u06a9\u0686\u06be \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0626\u06cc \u06af\u0641\u062a\u06af\u0648 \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-do-we-keep-the-bot-online\">\u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0622\u0646 \u0644\u0627\u0626\u0646 \u06a9\u06cc\u0633\u06d2 \u0631\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u0648\u06ba\u061f<\/h2>\n<p>\u062c\u0645\u0644\u06c1 &quot;\u06c1\u0645\u06cc\u0634\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u0646 \u0644\u0627\u0626\u0646&#8221; \u06a9\u06cc \u06cc\u06c1\u0627\u06ba \u06a9\u0686\u06be \u0648\u0636\u0627\u062d\u062a \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648 \u0635\u0648\u0631\u062a\u06cc\u06ba \u06c1\u06cc\u06ba:<\/p>\n<h3 id=\"heading-option-1-run-it-on-your-computer\">\u0622\u067e\u0634\u0646 1: \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0633\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h3>\n<p>\u0686\u0644\u062a\u06d2 \u0648\u0642\u062a:<\/p>\n<pre><code class=\"language-bash\">python bot.py\n<\/code><\/pre>\n<p>\u0628\u0648\u0679 \u0622\u0646 \u0644\u0627\u0626\u0646 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u062c\u0628\u06a9\u06c1 \u0627\u0633 \u06a9\u0627 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06cc\u0627 \u0622\u067e \u0679\u0631\u0645\u06cc\u0646\u0644 \u0628\u0646\u062f \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06ba \u06af\u06d2\u061f<\/p>\n<p>\u0628\u0648\u0679 \u0622\u0641 \u0644\u0627\u0626\u0646 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06cc\u0627 \u0622\u067e \u0627\u067e\u0646\u0627 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0628\u0646\u062f \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u061f<\/p>\n<p>\u0628\u0648\u0679 \u0622\u0641 \u0644\u0627\u0626\u0646 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06cc\u0627 \u0622\u067e \u0646\u06d2 \u0627\u0646\u0679\u0631\u0646\u06cc\u0679 \u06a9\u06be\u0648 \u062f\u06cc\u0627\u061f<\/p>\n<p>\u0628\u0648\u0679 \u0622\u0641 \u0644\u0627\u0626\u0646 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 24\/7 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0633\u06cc\u0679 \u0627\u067e \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-option-2-host-it-on-a-server\">\u0622\u067e\u0634\u0646 2: \u0633\u0631\u0648\u0631 \u067e\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0646 \u0628\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u0622\u067e \u06a9\u0627 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0622\u0641 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0628\u06be\u06cc \u0622\u0646 \u0644\u0627\u0626\u0646 \u0631\u06c1\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc \u062c\u0648 \u0627\u0628 \u0628\u06be\u06cc \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u0648\u06d4<\/p>\n<p>\u0648\u06c1 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06a9\u0644\u0627\u0624\u0688 \u0633\u0631\u0648\u0631 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u067e\u0646\u0627 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">python bot.py\n<\/code><\/pre>\n<p>\u0627\u0628 \u0622\u067e \u06a9\u06cc \u06a9\u0644\u0627\u0624\u0688 \u0645\u0634\u06cc\u0646 \u0622\u067e \u06a9\u06d2 \u0644\u06cc\u067e \u0679\u0627\u067e \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u0686\u0644\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0642\u0633\u0645 \u06a9\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u0645\u0633\u0644\u0633\u0644 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u0631\u062f\u06c1 \u062e\u062f\u0645\u0627\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0631\u06cc\u0646\u0688\u0631 \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>\u067e\u0633 \u0645\u0646\u0638\u0631 \u06a9\u0627\u0631\u06a9\u0646<\/strong> \u0645\u0633\u0644\u0633\u0644 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0639\u0645\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u06a9\u06cc \u0633\u0631\u0648\u0633 \u062c\u0633 \u06a9\u0648 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0648\u06cc\u0628 \u0679\u0631\u06cc\u0641\u06a9 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0622\u067e \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u067e\u0646\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u0642\u06cc\u0645\u062a\u0648\u06ba \u0627\u0648\u0631 \u0633\u0631\u0648\u0633 \u06a9\u06cc \u062d\u062f\u0648\u062f \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0636\u0631\u0648\u0631\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u06c1 \u0645\u0641\u062a \u06c1\u0648\u0633\u0679\u0646\u06af \u0679\u0627\u0626\u0631\u0632 \u06c1\u0645\u06cc\u0634\u06c1 \u0622\u0646 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u0648\u06ba\u060c \u0627\u0648\u0631 &quot;\u0645\u0641\u062a \u06c1\u0645\u06cc\u0634\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2&#8221; 24\/7 \u0633\u06cc\u0679 \u0627\u067e \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u06a9\u0633\u06cc \u06c1\u0648\u0633\u0679\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06a9\u06cc \u067e\u06cc\u0634\u06a9\u0634\u0648\u06ba \u06a9\u0648 \u0645\u0627\u0646 \u0644\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-what-forever-actually-means\">&quot;\u06c1\u0645\u06cc\u0634\u06c1&#8221; \u06a9\u0627 \u0648\u0627\u0642\u0639\u06cc \u06a9\u06cc\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0648\u0627\u0642\u0639\u06cc \u06a9\u0648\u0626\u06cc \u062c\u0627\u062f\u0648 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">ONLINE_FOREVER = True\n<\/code><\/pre>\n<p>\u0645\u0627\u062d\u0648\u0644<\/p>\n<p>\u0628\u0648\u0679\u0633 \u0635\u0631\u0641 \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u0622\u0646 \u0644\u0627\u0626\u0646 \u0631\u06c1 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0627\u0646 \u06a9\u0648 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06cc\u0627 \u0633\u0631\u0648\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u0631\u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u067e\u06cc\u0634\u06c1 \u0648\u0631\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0628\u0648\u0679\u0633 \u0628\u06be\u06cc \u062f\u0631\u062c \u0630\u06cc\u0644 \u0648\u062c\u0648\u06c1\u0627\u062a \u06a9\u06cc \u0628\u0646\u0627\u0621 \u067e\u0631 \u0622\u0641 \u0644\u0627\u0626\u0646 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u062a \u067e\u0633\u0646\u062f\u0627\u0646\u06c1 \u0645\u0642\u0635\u062f \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0686\u0644\u062a\u0627 \u0631\u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0631 \u06a9\u0686\u06be \u063a\u0644\u0637 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06c1\u0648\u0633\u0679\u0646\u06af \u06a9\u0648 \u0622\u067e \u06a9\u06cc \u0645\u062f\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u062e\u0648\u062f \u06a9\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06d2 \u0641\u0639\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06c1\u0645 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u06cc \u06a9\u0645\u06cc \u0628\u06be\u06cc Python \u06a9\u0648\u0688 \u06a9\u06d2 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">if not TOKEN:\n    raise RuntimeError(\"DISCORD_TOKEN is not set.\")\n<\/code><\/pre>\n<p>\u06a9\u0633\u06cc \u067e\u0631\u0627\u0633\u0631\u0627\u0631 \u0628\u0648\u0679 \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u06a9\u0648 \u0688\u06cc\u0628\u06af \u06a9\u0631\u0646\u0627 \u0628\u06c1\u062a \u0622\u0633\u0627\u0646 \u06c1\u06d2 \u062c\u0648 \u06a9\u0628\u06be\u06cc \u0622\u0646 \u0644\u0627\u0626\u0646 \u0638\u0627\u06c1\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-dont-try-to-keep-it-awake-with-random-tricks\">\u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u0686\u0627\u0644\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06a9\u06d2 &quot;\u062c\u0627\u06af\u062a\u06d2 \u0631\u06c1\u0646\u06d2&#8221; \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0622\u067e \u0627\u06cc\u0633\u06d2 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644\u0632 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0648\u06cc\u0628 \u0633\u0631\u0648\u0631 \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0633\u0631\u06cc \u0633\u0631\u0648\u0633 \u0633\u06d2 \u0628\u0627\u0631 \u0628\u0627\u0631 \u067e\u0646\u06af \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0634\u0648\u0631\u06c1 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0645\u0641\u062a \u06c1\u0648\u0633\u0679\u0646\u06af \u0645\u062b\u0627\u0644 \u06a9\u0648 \u0633\u0644\u06cc\u067e \u0645\u0648\u0688 \u0645\u06cc\u06ba \u062c\u0627\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u0633\u06d2 \u0645\u062d\u062a\u0627\u0637 \u0631\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0648\u0633\u0679\u0646\u06af \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u067e\u0646\u06d2 \u0645\u0641\u062a \u062f\u0631\u062c\u06d2 \u06a9\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06a9\u06d2 \u0627\u0648\u0631 \u0627\u0646 \u067e\u0627\u0628\u0646\u062f\u06cc\u0648\u06ba \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u06a9\u06d2 \u0627\u067e\u0646\u06cc \u0634\u0631\u0627\u0626\u0637 \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u0648\u0627\u0642\u0639\u06cc \u0645\u0633\u062a\u0642\u0644 \u0628\u0648\u0679\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062a\u0648 \u06c1\u0648\u0633\u0679\u0646\u06af \u0622\u067e\u0634\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0628\u06cc\u06a9 \u06af\u0631\u0627\u0624\u0646\u0688 \u0648\u0631\u06a9\u0631\u0632 \u06a9\u0648 \u0627\u0633 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0639\u0645\u0644 \u06a9\u0648 \u0645\u0633\u0644\u0633\u0644 \u0686\u0644\u062a\u0627 \u0631\u06c1\u06d2\u06d4 \u06cc\u06c1 \u06a9\u0633\u06cc \u0648\u06cc\u0628 \u0633\u0631\u0648\u0633 \u06a9\u0648 \u0642\u0627\u0626\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0635\u0627\u0641 \u06c1\u06d2 \u06a9\u06c1 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u062e\u0641\u06cc\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-additional-features-and-where-to-go-next\"><strong>\u0627\u0636\u0627\u0641\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a<\/strong>es \u0627\u0648\u0631 \u0622\u06af\u06d2 \u06a9\u06c1\u0627\u06ba \u062c\u0627\u0646\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u0628 \u062c\u0628 \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u06c1\u06d2\u060c \u0628\u06c1\u062a \u0633\u0627\u0631\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0648 \u0622\u06af\u06d2 \u0644\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u067e \u0627\u0646\u0648\u06cc\u0646\u0679\u0631\u06cc\u060c \u0645\u062a\u0639\u062f\u062f \u0627\u0628\u0648\u0627\u0628\u060c \u067e\u06c1\u06cc\u0644\u06cc\u0627\u06ba\u060c \u06cc\u0627 \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u062e\u062a\u062a\u0627\u0645 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 \u0627\u067e\u0646\u06d2 \u06a9\u06c1\u0627\u0646\u06cc \u0633\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u0648 \u0645\u0632\u06cc\u062f \u0645\u06a9\u0645\u0644 \u06af\u06cc\u0645 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0645\u062a\u0646 \u067e\u0631 \u0645\u0628\u0646\u06cc \u06a9\u0645\u0627\u0646\u0688\u0632 \u06a9\u0648 Discord \u0633\u0644\u06cc\u0634 \u06a9\u0645\u0627\u0646\u0688\u0632 \u0627\u0648\u0631 \u0628\u0679\u0646\u0632 \u0633\u06d2 \u0628\u062f\u0644 \u06a9\u0631 \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0648 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e AI \u0645\u06cc\u06ba \u062f\u0644\u0686\u0633\u067e\u06cc \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679\u0633 \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u0634\u062e\u0635\u06cc\u0627\u062a \u062f\u06d2 \u06a9\u0631\u060c \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06d2 \u0645\u062d\u062f\u0648\u062f \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u06a9\u06d2\u060c \u06cc\u0627 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06d2 \u06a9\u0686\u06be \u062d\u0635\u06d2 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 AI \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u06a9\u06d2 \u0686\u06cc\u0679 \u0633\u0633\u0679\u0645 \u06a9\u0648 \u0628\u0691\u06be\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u067e \u0627\u06cc\u0688\u0645\u0646 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a\u060c \u0631\u0648\u0632\u0627\u0646\u06c1 \u06a9\u06cc \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06d2 \u0627\u0634\u0627\u0631\u06d2\u060c \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u06a9\u0645\u0627\u0646\u0688\u0632 \u0628\u06be\u06cc \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06a9\u06c1 \u0622\u067e \u062c\u0633 Discord \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u06c1\u0648\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0648\u06c1 \u062e\u0635\u0648\u0635\u06cc\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062c\u0633\u06d2 \u06c1\u0645 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u0628\u0646\u0627\u0626\u06cc\u06ba \u06af\u06d2\u060c \u0628\u0644\u06a9\u06c1 \u0627\u0633 \u0645\u0646\u0635\u0648\u0628\u06d2 \u06a9\u0648 \u0628\u0691\u06be\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u062e\u06cc\u0627\u0644 \u06c1\u06d2\u06d4 \u0627\u06c1\u0645 \u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0628 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u067e\u0646\u06d2 \u062a\u062c\u0631\u0628\u0627\u062a \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u060c \u0645\u0639\u0644\u0648\u0645 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0648\u06c1\u0627\u06ba \u0633\u06d2 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0628\u0648\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0628\u0691\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u062c\u062a\u0646\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u062c\u0631\u0628\u06c1 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u0622\u067e \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 Python\u060c Discord\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633\u060c \u0627\u0648\u0631 AI \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-test-everything-locally-first\">\u067e\u06c1\u0644\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">!hello\n!story\n!choose left\n!choose right\n!chat hello\n!chat I want to learn Python\n!support I'm stressed\n!help\n<\/code><\/pre>\n<p>\u067e\u06be\u0631 \u06c1\u0645 \u0639\u062c\u06cc\u0628 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u06cc\u0633\u0679 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">!choose banana\n!chat\n!support\n!unknowncommand\n<\/code><\/pre>\n<p>\u062c\u0628 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0628\u06cc\u0679\u06be\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0628\u06af \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u0648\u06ba \u06af\u0627\u060c \u062a\u06cc\u0646 \u062f\u0646 \u0628\u0639\u062f \u0646\u06c1\u06cc\u06ba \u062c\u0628 \u06a9\u0648\u0626\u06cc \u06a9\u06c1\u06d2:<\/p>\n<blockquote>\n<p>&quot;\u0622\u067e \u06a9\u0627 \u0628\u0648\u0679 \u0645\u0646\u06af\u0644 \u0633\u06d2 \u0679\u0648\u0679 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4&#8221;<\/p>\n<\/blockquote>\n<h2 id=\"heading-deploying-the-bot\">\u0628\u0648\u0679 \u06a9\u06cc \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc<\/h2>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-text\">discord-story-bot\/\n\u2502\n\u251c\u2500\u2500 bot.py\n\u251c\u2500\u2500 requirements.txt\n\u251c\u2500\u2500 .gitignore\n\u2514\u2500\u2500 .python-version\n<\/code><\/pre>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>.python-version<\/code> \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0645\u0648\u0627\u062f \u0634\u0627\u0645\u0644 \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u06d2:<\/p>\n<pre><code class=\"language-text\">3.13\n<\/code><\/pre>\n<p>\u0648\u0631\u0698\u0646 \u0641\u0627\u0626\u0644\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0622\u067e \u06a9\u06d2 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u062a\u062c\u0631\u0628\u06d2 \u06a9\u0648 \u0645\u0632\u06cc\u062f \u0642\u0627\u0628\u0644\u0650 \u067e\u06cc\u0634\u06af\u0648\u0626\u06cc \u0628\u0646\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0631\u06cc\u0646\u0688\u0631 \u0641\u06cc \u0627\u0644\u062d\u0627\u0644 \u0627\u0632\u06af\u0631 \u06a9\u06d2 \u0648\u0631\u0698\u0646 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0628\u0630\u0631\u06cc\u0639\u06c1: <code>.python-version<\/code> \u06cc\u0627 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0627 <code>requirements.txt<\/code> \u0627\u0646\u062d\u0635\u0627\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">discord.py\npython-dotenv\n<\/code><\/pre>\n<p>\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0642\u0627\u0645\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 <code>.env<\/code> \u0641\u0627\u0626\u0644<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">DISCORD_TOKEN\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u06d2 \u06c1\u0648\u0633\u0679\u0646\u06af \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u06d2 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0645\u06cc\u06ba \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u06d4<\/p>\n<p>\u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u0631\u0627\u0632 \u0630\u062e\u06cc\u0631\u06d2 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u062d\u0641\u0648\u0638 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-the-start-command\">\u06a9\u0645\u0627\u0646\u0688 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba<\/h3>\n<p>\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0633\u0631\u0648\u0633 \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0686\u0644\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u0645\u0627\u0646\u0688 \u06cc\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-bash\">python bot.py\n<\/code><\/pre>\n<p>\u0627\u06c1\u0645 \u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0639\u0645\u0644 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062e\u062a\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0648\u062c\u0648\u06c1\u0627\u062a \u06a9\u06cc \u0628\u0646\u0627\u0621 \u067e\u0631 \u0632\u0646\u062f\u06c1 \u06c1\u06cc\u06ba\u06d4 <code>bot.run(TOKEN)<\/code> \u0627\u067e\u0646\u0627 \u0688\u0633\u06a9\u0627\u0631\u0688 \u06a9\u0646\u06a9\u0634\u0646 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u0686\u0644\u0627\u062a\u06d2 \u0631\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u06c1\u0648\u0633\u0679\u0646\u06af \u0633\u0631\u0648\u0633 \u0628\u06cc\u06a9 \u06af\u0631\u0627\u0624\u0646\u0688 \u0648\u0631\u06a9\u0631\u0632 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u0628\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0628\u0648\u0679 \u06a9\u0648 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0631\u06cc\u0646\u0688\u0631 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u067e\u0633 \u0645\u0646\u0638\u0631 \u06a9\u06d2 \u06a9\u0627\u0631\u06a9\u0646\u0648\u06ba \u06a9\u0648 \u0645\u0633\u0644\u0633\u0644 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062e\u062f\u0645\u0627\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u0633\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-remember-keep-your-secrets-secret\">\u06cc\u0627\u062f \u0631\u06a9\u06be\u06cc\u06ba: \u0627\u067e\u0646\u06d2 \u0631\u0627\u0632 \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u0631\u06a9\u06be\u06cc\u06ba\u06d4<\/h2>\n<p>\u06cc\u06c1 \u062f\u06c1\u0631\u0627\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0628\u06c1\u062a \u0633\u06d2 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0645\u0646\u0635\u0648\u0628\u0648\u06ba \u06a9\u0648 \u062a\u0648\u0691 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0628\u06be\u06cc \u0639\u06c1\u062f \u0646\u06c1 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-python\">bot.run(\"YOUR_REAL_TOKEN\")\n<\/code><\/pre>\n<p>\u0627\u067e \u0644\u0648\u0688 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0627:<\/p>\n<pre><code class=\"language-text\">.env\n<\/code><\/pre>\n<p>\u0639\u0648\u0627\u0645\u06cc GitHub \u0627\u06cc\u0634\u0648 \u0645\u06cc\u06ba \u0627\u0635\u0644 \u0679\u0648\u06a9\u0646 \u0686\u0633\u067e\u0627\u06ba \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0679\u0648\u06a9\u0646 \u063a\u0644\u0637\u06cc \u0633\u06d2 \u0638\u0627\u06c1\u0631 \u06c1\u0648 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06d2 \u062e\u0631\u0627\u0628 \u0633\u0645\u062c\u06be\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u0622\u067e \u06a9\u06d2 \u062f\u0648\u0633\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-what-you-learned\">\u0645\u06cc\u06ba \u0646\u06d2 \u06a9\u06cc\u0627 \u0633\u06cc\u06a9\u06be\u0627\u06d4<\/h2>\n<p>\u0622\u067e \u0646\u06d2 \u0627\u0628 \u0627\u06cc\u06a9 Discord \u0628\u0648\u0679 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2 \u062c\u0648 \u06a9\u0686\u06be \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u062a\u0635\u0648\u0631\u0627\u062a \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0633\u06cc\u06a9\u06be\u0627 \u06a9\u06c1 \u06a9\u06cc\u0633\u06d2:<\/p>\n<ul>\n<li>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>Python \u06a9\u0648 Discord \u0633\u06d2 \u062c\u0648\u0691\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <code>discord.py<\/code><\/p>\n<\/li>\n<li>\n<p>\u06af\u06cc\u0679 \u0648\u06d2 \u06a9\u06d2 \u0627\u0631\u0627\u062f\u06d2 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0645\u0627\u0646\u0688 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0627\u0641\u0639\u0627\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0645\u0627\u0646\u0688 \u06a9\u06d2 \u062f\u0644\u0627\u0626\u0644 \u067e\u0691\u06be\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06c1\u0627\u0646\u06cc \u06a9\u06cc \u0646\u0633\u0644<\/p>\n<\/li>\n<li>\n<p>\u0639\u0627\u0631\u0636\u06cc \u0635\u0627\u0631\u0641 \u06a9\u06cc \u062d\u0627\u0644\u062a \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0686\u06cc\u0679 \u0633\u0633\u0679\u0645 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u062f\u0645\u0627\u063a\u06cc \u0635\u062d\u062a \u06a9\u06cc \u0645\u0639\u0627\u0648\u0646\u062a \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u0628\u0646\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0645\u0627\u0646\u0688 \u0627\u06cc\u0631\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0646\u06af<\/p>\n<\/li>\n<li>\n<p>\u0627\u067e\u0646\u06d2 \u0633\u0648\u0631\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0631\u0627\u0632 \u0631\u06a9\u06be\u06cc\u06ba<\/p>\n<\/li>\n<li>\n<p>\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0646\u0635\u0648\u0628\u06d2 \u06a9\u06cc \u062a\u06cc\u0627\u0631\u06cc<\/p>\n<\/li>\n<li>\n<p>\u0645\u0633\u062a\u0642\u0644 \u06c1\u0648\u0633\u0679\u0646\u06af \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0648\u0631 \u0627\u0633 \u062a\u0645\u0627\u0645 \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u06d2 \u0646\u06cc\u0686\u06d2\u060c \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0627\u0628 \u0628\u06be\u06cc \u062d\u06cc\u0631\u062a \u0627\u0646\u06af\u06cc\u0632 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0627\u062f\u06c1 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">User sends command\n        \u2193\nDiscord receives message\n        \u2193\ndiscord.py receives event\n        \u2193\nPython function runs\n        \u2193\nBot generates response\n        \u2193\nDiscord displays response\n<\/code><\/pre>\n<p>\u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u06a9\u0648\u0688 \u06a9\u06cc \u06c1\u0632\u0627\u0631\u0648\u06ba \u0644\u0627\u0626\u0646\u0648\u06ba \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u062e\u06cc\u0627\u0644\u060c \u0686\u0646\u062f \u0627\u0632\u06af\u0631 \u06a9\u06d2 \u062a\u0635\u0648\u0631\u0627\u062a\u060c \u0627\u0648\u0631 \u0645\u0633\u0627\u0626\u0644 \u06a9\u06d2 \u0644\u0627\u0645\u062d\u0627\u0644\u06c1 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0688\u06cc\u0628\u06af\u0646\u06af \u062c\u0627\u0631\u06cc \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u062e\u0648\u0627\u06c1\u0634 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc\u06d4<\/p>\n<h2 id=\"heading-final-thoughts\">\u062d\u062a\u0645\u06cc \u062e\u06cc\u0627\u0644\u0627\u062a<\/h2>\n<p>\u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0627 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u062d\u0635\u06c1 \u062f\u0631\u0627\u0635\u0644 \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0622\u067e \u06a9\u0648 \u0633\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u0627\u0633\u06d2 \u0633\u0645\u062c\u06be \u0644\u06cc\u06ba \u062a\u0648 \u0622\u067e \u0627\u0633\u06cc \u0622\u0626\u06cc\u0688\u06cc\u0627 \u06a9\u0648 \u0627\u0646 \u06af\u0646\u062a \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u0645\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679 \u0627\u06cc\u06a9 \u06af\u06cc\u0645\u060c \u0627\u06cc\u06a9 \u0648\u06cc\u0628 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u060c \u06cc\u0627 \u0627\u06cc\u06a9 \u0628\u0691\u0627 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0648\u0631 \u0627\u0686\u0627\u0646\u06a9 \u0622\u067e \u0627\u0628 \u0635\u0631\u0641 \u0627\u0632\u06af\u0631 \u06a9\u06cc \u062a\u0631\u06a9\u06cc\u0628 \u0646\u06c1\u06cc\u06ba \u0633\u06cc\u06a9\u06be \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u06be \u0631\u06c1\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u062f\u0631\u0627\u0635\u0644 \u06a9\u0633 \u0637\u0631\u062d \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0648\u0642\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u062f\u0627\u06cc\u0627\u062a\u06d4<\/p>\n<p>\u0645\u0628\u0627\u0631\u06a9 \u06a9\u0648\u0688\u0646\u06af!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062c\u0628 \u0622\u067e \u0688\u0633\u06a9\u0627\u0631\u0688 \u0628\u0648\u0679\u0633 \u06a9\u0648 \u0639\u0645\u0644 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0648\u06c1 \u062d\u06cc\u0631\u062a \u0627\u0646\u06af\u06cc\u0632 \u0637\u0648\u0631 \u067e\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u0644\u06af \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0648\u0679\u0633 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u06c1\u0627\u0646\u06cc\u0627\u06ba \u0633\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06af\u0641\u062a\u06af\u0648 \u06a9\u06d2 \u06a9\u0686\u06be \u062d\u0635\u06d2 \u06cc\u0627\u062f \u0631\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062f\u0646 \u0645\u06cc\u06ba 24 \u06af\u06be\u0646\u0679\u06d2 \u0622\u0646 \u0644\u0627\u0626\u0646 \u0631\u06c1 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u0627 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":27718,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-27717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/27717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/comments?post=27717"}],"version-history":[{"count":1,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/27717\/revisions"}],"predecessor-version":[{"id":27719,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/27717\/revisions\/27719"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media\/27718"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media?parent=27717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/categories?post=27717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/tags?post=27717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}