در این مطلب، ویدئو آموزش ربات تلگرام پایتون: نحوه ایجاد ربات تلگرام با Webhook #3 | پروژه پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:34:13
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,820
این آموزش ربات ژله گرام من است و
2
00:00:02,820 –> 00:00:06,870
ما یک برد تلگرام و یک
3
00:00:06,870 –> 00:00:09,900
اپلیکیشن فلاسک برای آن ایجاد می کنیم و آن را تست می
4
00:00:09,900 –> 00:00:17,609
کنیم و با ساختن یک برد تلگرام شروع می کنیم
5
00:00:17,609 –> 00:00:20,310
یا با یک برد مخصوص
6
00:00:20,310 –> 00:00:24,480
به نام ربات پدر باید آن را جستجو
7
00:00:24,480 –> 00:00:24,660
کنید.
8
00:00:24,660 –> 00:00:31,650
این یکی و سپس
9
00:00:31,650 –> 00:00:37,200
روی دستور new board کلیک می کنم، باید یک
10
00:00:37,200 –> 00:00:43,760
نام برای آن انتخاب کنم، مثلاً برو در تابلوی تست جام بازار
11
00:00:43,760 –> 00:00:48,989
و من باید یک
12
00:00:48,989 –> 00:00:54,530
نام کاربری برای ربات خود انتخاب کنم go in market cup
13
00:00:54,530 –> 00:01:01,260
test اما به عنوان مثال عالی،
14
00:01:01,260 –> 00:01:05,960
مهمترین چیز در اینجا یک نشانه API وجود دارد
15
00:01:05,960 –> 00:01:14,130
که آن را کپی کرده و در اسکریپت من جایگذاری کنید. من
16
00:01:14,130 –> 00:01:18,060
یک توکن متغیر جدید ایجاد می کنم که
17
00:01:18,060 –> 00:01:25,950
برابر با توکن تلگرام من است،
18
00:01:25,950 –> 00:01:31,640
همچنین یک پیوند به شروع هیئت مدیره ما وجود دارد و
19
00:01:31,640 –> 00:01:37,880
ما یک پیوند به هر دو مستندات API داریم
20
00:01:38,869 –> 00:01:40,799
و در اینجا
21
00:01:40,799 –> 00:01:44,759
من نیاز به یک بخش ساختن درخواستها و
22
00:01:44,759 –> 00:01:49,920
ما میتوانیم برد خود را با این URL آزمایش کنیم، این را کپی
23
00:01:49,920 –> 00:01:57,719
کرده و در اینجا جایگذاری کنید و من باید
24
00:01:57,719 –> 00:02:01,229
همه این صحبتها را با کپی توکن واقعی خود جایگزین کنم
25
00:02:01,229 –> 00:02:04,159
26
00:02:04,510 –> 00:02:10,150
و آن را در اینجا بچسبانم متد get me را در
27
00:02:10,150 –> 00:02:15,480
روش پیشفرض برای این درخواست و
28
00:02:15,480 –> 00:02:18,910
فقط یک درخواست را برمیگرداند. اطلاعات پایه rmation
29
00:02:18,910 –> 00:02:22,810
در مورد قایق ما و ما می توانیم ببینیم که
30
00:02:22,810 –> 00:02:26,740
تلگرام مانند ما با این
31
00:02:26,740 –> 00:02:29,500
شی JSON که نشان دهنده
32
00:02:29,500 –> 00:02:34,090
اطلاعات اولیه در مورد قایق ما است، پاسخ می دهد، حالا
33
00:02:34,090 –> 00:02:39,450
بیایید یک پیام برای همه تلگرام قایق بنویسیم
34
00:02:40,650 –> 00:02:47,410
چیزی شبیه به این سلام برد و چگونه
35
00:02:47,410 –> 00:02:51,100
می توانیم پیام های جدید را از
36
00:02:51,100 –> 00:02:55,600
تلگرام دریافت کنیم. و برای انجام آن میتوانیم از
37
00:02:55,600 –> 00:03:05,200
روش دریافت بهروزرسانیها استفاده کنیم، دریافت بهروزرسانیها و دوباره
38
00:03:05,200 –> 00:03:09,459
میتوانیم در شما شیء JSON را ببینیم و آخرین
39
00:03:09,459 –> 00:03:13,680
عنصر jason کمترین نتیجه
40
00:03:13,680 –> 00:03:19,720
شامل پیام ما به boat hello
41
00:03:19,720 –> 00:03:23,140
bot و پاسخ به پیام است که
42
00:03:23,140 –> 00:03:27,310
میتوانیم از ارسال استفاده کنیم. روش پیام به
43
00:03:27,310 –> 00:03:34,080
عنوان مثال دریافت بهروزرسانیهایی که از
44
00:03:34,080 –> 00:03:41,590
روش دریافت بهروزرسانیها استفاده کردهایم و سپس من به
45
00:03:41,590 –> 00:03:46,060
دنبال روش ارسال پیام هستم و
46
00:03:46,060 –> 00:03:51,580
میتوانیم ببینیم که به شناسه چت و یک متن
47
00:03:51,580 –> 00:03:56,860
به عنوان پارامترهای مورد نیاز نیاز دارم، بنابراین اجازه دهید یک
48
00:03:56,860 –> 00:03:59,580
جریان پرس و جو ایجاد کنیم
49
00:04:06,080 –> 00:04:14,520
و پیام را علامت سؤال بفرستیم. شناسه
50
00:04:14,520 –> 00:04:28,160
برابر است با شناسه چت در اینجا
51
00:04:28,160 –> 00:04:36,390
آمپر و متن برابر با سلام کاربر
52
00:04:36,390 –> 00:04:43,770
این لینک را کپی کرده و در اینجا قرار دهید و می
53
00:04:43,770 –> 00:04:47,160
بینیم که ما یک پیام از کاربر ربات hello دریافت کرده ایم
54
00:04:47,160 –> 00:04:47,820
55
00:04:47,820 –> 00:04:51,690
و این پات اصلی است. rn
56
00:04:51,690 –> 00:04:54,000
از تعامل بین کاربر
57
00:04:54,000 –> 00:04:57,600
و ربات و این تعامل بر اساس
58
00:04:57,600 –> 00:05:01,530
دریافت و ارسال پیام است و بنابراین
59
00:05:01,530 –> 00:05:05,960
وظیفه ما این است که این تعامل را خودکار
60
00:05:05,960 –> 00:05:09,870
کنیم، از روش دریافت به روز رسانی
61
00:05:09,870 –> 00:05:12,840
استفاده نخواهیم کرد، از یک قلاب وب برای دریافت
62
00:05:12,840 –> 00:05:15,810
به روز رسانی استفاده خواهیم کرد، اما الگوی رایج
63
00:05:15,810 –> 00:05:19,200
تعامل یکسان است ابتدا باید
64
00:05:19,200 –> 00:05:22,080
پیام کاربران را دریافت و مدیریت
65
00:05:22,080 –> 00:05:24,990
کنیم و باید اطلاعات درخواستی کاربر را برای کاربر
66
00:05:24,990 –> 00:05:28,290
ارسال کنیم و در اینجا در مرحله
67
00:05:28,290 –> 00:05:31,260
آماده سازی در اولین ویدیو
68
00:05:31,260 –> 00:05:34,890
فریم ورک فلاسک را نصب کرده ایم و برای
69
00:05:34,890 –> 00:05:37,560
چه چیزی به چارچوب فلاسک در اینجا نیاز داریم.
70
00:05:37,560 –> 00:05:40,890
واقعیت این است که ما میتوانیم
71
00:05:40,890 –> 00:05:42,990
از دو طریق پیامهای جدیدی از کیلوگرم دریافت کنیم
72
00:05:42,990 –> 00:05:46,650
، اولین موردی که قبلاً استفاده کردهایم،
73
00:05:46,650 –> 00:05:49,970
میتوانیم آنها را روش دریافت بهروزرسانی صدا کنیم و نقطه
74
00:05:49,970 –> 00:05:54,120
ضعف این روش این است که نمیدانیم چه
75
00:05:54,120 –> 00:05:57,720
زمانی پیام جدیدی برای ما ارسال میشود
76
00:05:57,720 –> 00:06:00,930
و بنابراین باید روش دریافت آپدیت ها را به
77
00:06:00,930 –> 00:06:05,010
طور مداوم فراخوانی کنیم که
78
00:06:05,010 –> 00:06:08,240
سرورهای تلگرام اسپم موبایل با درخواست های خود هستند و
79
00:06:08,240 –> 00:06:11,190
راه دوم استفاده از قلاب
80
00:06:11,190 –> 00:06:13,990
وب با استفاده از قلاب های وب به این معنی است که
81
00:06:13,990 –> 00:06:16,720
اگر من جدید وجود داشته باشد.
82
00:06:16,720 –> 00:06:19,180
ssage برای ما تلگرام بدون هیچ درخواستی از طرف ما آن را برای ما ارسال می کند.
83
00:06:19,180 –> 00:06:23,020
نقطه
84
00:06:23,020 –> 00:06:26,410
ضعف روش این است که تلگرام
85
00:06:26,410 –> 00:06:30,310
از طریق درخواست پست به یک آدرس URL خاص پیام ارسال می کند
86
00:06:30,310 –> 00:06:34,300
و بنابراین ما باید
87
00:06:34,300 –> 00:06:37,510
بتوانیم درخواست های پست را رسیدگی کنیم و نیاز به
88
00:06:37,510 –> 00:06:41,740
یک استاتیک داریم. آدرس URL و
89
00:06:41,740 –> 00:06:45,820
تلگرام alsa از پروتکل HTTPS استفاده می کند، بنابراین ما به
90
00:06:45,820 –> 00:06:51,340
گواهی SSL نیاز داریم و به همین دلیل است که ما
91
00:06:51,340 –> 00:06:54,640
به چارچوب flask در junga همانطور که می خواهید نیاز داریم،
92
00:06:54,640 –> 00:06:58,870
اما از نظر فلسفی این یک برنامه فلاسک خواهد بود،
93
00:06:58,870 –> 00:07:03,610
بنابراین در واقع برد ما
94
00:07:03,610 –> 00:07:08,650
یک برنامه فلاسک است و ما وجود دارد.
95
00:07:08,650 –> 00:07:19,210
لیست کارها برای هر دو ابتدا باید
96
00:07:19,210 –> 00:07:21,850
کلاس flus را وارد کنیم و یک نمونه فلاسک را
97
00:07:21,850 –> 00:07:29,650
در اینجا از کلاس flask import flask
98
00:07:29,650 –> 00:07:36,060
ایجاد کنیم و در اینجا من یک متغیر برنامه ایجاد می کنم
99
00:07:36,060 –> 00:07:40,570
که برابر با کلاس flask است
100
00:07:40,570 –> 00:07:46,510
و در حال عبور از ویژگی name هستم.
101
00:07:46,510 –> 00:07:50,260
مرجع صفت name
102
00:07:50,260 –> 00:07:53,800
به فایل پایتون فعلی main dot dy
103
00:07:53,800 –> 00:07:58,120
و flask از آن برای ایجاد مسیرهایی به
104
00:07:58,120 –> 00:08:00,780
وابستگی های خود مانند پوشه های پوشه های الگو
105
00:08:00,780 –> 00:08:06,820
با فایل های JS و فایل های CSS بعدی
106
00:08:06,820 –> 00:08:15,820
در بلوک اصلی if I am استفاده می کند: m.
107
00:08:15,820 –> 00:08:20,710
متد اجرای متغیر برنامه و پارامتر اشکالزدایی
108
00:08:20,710 –> 00:08:24,820
برابر با true است و حالا اجازه دهید در
109
00:08:24,820 –> 00:08:26,289
110
00:08:26,289 –> 00:08:29,800
شما تابعی ایجاد کنیم که درخواستهای مکان ما را رسیدگی میکند
111
00:08:29,800 –> 00:08:35,708
، متغیری یک تزئین کننده جاده را فراخوانی میکند
112
00:08:35,708 –> 00:08:38,948
و اولین آرگومان یک
113
00:08:38,948 –> 00:08:44,049
URL است، سپس من در حال ایجاد تابع نمایه شما هستم
114
00:08:44,049 –> 00:08:51,490
که برمیگردد. یک هدر رشته h1
115
00:08:51,490 –> 00:09:00,240
با یک ربات سکه مارک مارکت و
116
00:09:00,240 –> 00:09:10,329
اجازه دهید آن را در زمانی که مارکت کپ (Market Cap) اجرا کنیم اما
117
00:09:10,329 –> 00:09:13,449
فریم اصلی برنامه فلاسک ما
118
00:09:13,449 –> 00:09:16,329
آماده است و اکنون زمان راه اندازی یک
119
00:09:16,329 –> 00:09:21,069
تونل Donnellan است که به هر کسی در
120
00:09:21,069 –> 00:09:24,370
اینترنت اجازه می دهد به لوکال هاست ما دسترسی داشته باشد.
121
00:09:24,370 –> 00:09:26,860
از تونل استفاده کنید و فقط برای طعم دادن به
122
00:09:26,860 –> 00:09:29,529
اهداف برد ما
123
00:09:29,529 –> 00:09:31,720
تعدادی سرویس وجود دارد که تونل زنی را ارائه می دهد،
124
00:09:31,720 –> 00:09:35,190
اما امروز از سرویس دات نت استفاده
125
00:09:35,190 –> 00:09:42,910
خواهم کرد، فقط این خط را کپی کرده و
126
00:09:42,910 –> 00:09:47,740
روی کنسول خود قرار می دهم، سپس
127
00:09:47,740 –> 00:09:51,940
پورت شماره 2 5000 را جایگزین می کنم و
128
00:09:51,940 –> 00:09:57,959
این همه اینجا
129
00:10:02,260 –> 00:10:04,220
130
00:10:04,220 –> 00:10:09,020
مقوای بازار عجیب و غریب قایق من است و در حال حاضر
131
00:10:09,020 –> 00:10:12,830
برنامه فلاسک من از طریق اینترنت در دسترس است
132
00:10:12,830 –> 00:10:17,150
و از این آدرس rimu serio dotnet
133
00:10:17,150 –> 00:10:20,690
استفاده خواهم کرد تا یک قلاب وب راه اندازی
134
00:10:20,690 –> 00:10:24,550
کنم و اکنون می روم g به
135
00:10:24,550 –> 00:10:28,640
مستندات تلگرام یک بخش آپدیت را دریافت کنید و
136
00:10:28,640 –> 00:10:34,760
من به روش وب قلاب ها نیاز دارم
137
00:10:34,760 –> 00:10:37,910
و فقط یک پارامتر مورد نیاز
138
00:10:37,910 –> 00:10:48,080
است که یک URL است بنابراین می خواهم دوباره این یورو را کپی کنم
139
00:10:48,080 –> 00:10:56,660
لباس مرا وادار کنید تا وب هوک را تنظیم
140
00:10:56,660 –> 00:11:04,940
کنم URL علامت سوال برابر با این است
141
00:11:04,940 –> 00:11:15,760
آدرس را کپی کنید این URL را در اینجا پیست کنید و
142
00:11:17,080 –> 00:11:21,380
پیغامی را ببینیم که وب هوک
143
00:11:21,380 –> 00:11:25,730
تنظیم شده است و همچنین به این معنی است که برای دریافت
144
00:11:25,730 –> 00:11:28,040
پیام های جدید از کاربر دیگر
145
00:11:28,040 –> 00:11:30,710
نیازی به استفاده از روش دریافت به روز رسانی
146
00:11:30,710 –> 00:11:34,370
نیست زیرا تلگرام به
147
00:11:34,370 –> 00:11:35,270
این آدرس
148
00:11:35,270 –> 00:11:38,570
پریم ارسال می کند. سرویس primo شما به این
149
00:11:38,570 –> 00:11:39,140
آدرس
150
00:11:39,140 –> 00:11:42,620
jason اشیاء را با پیام کاربر
151
00:11:42,620 –> 00:11:47,240
و سایر اطلاعات متر اهدا می کنید و
152
00:11:47,240 –> 00:11:49,970
اکنون می خواهم ببینم هر بار که تلگرام برای من ارسال می کند،
153
00:11:49,970 –> 00:11:53,750
هر بار که می دانیم تلگرام برای
154
00:11:53,750 –> 00:11:57,320
ما درخواست هایی ارسال می کند که حاوی اشیاء json هستند،
155
00:11:57,320 –> 00:12:00,320
بنابراین می خواهم این درخواست را دریافت کنم.
156
00:12:00,320 –> 00:12:05,180
و درخواست handle post را
157
00:12:05,180 –> 00:12:09,220
باید به دکوراتور جاده ارسال کنم
158
00:12:09,220 –> 00:12:15,740
که متدهای آرگومان دوم برابر
159
00:12:15,740 –> 00:12:19,750
با لیستی است که در آن عنصر اول
160
00:12:19,750 –> 00:12:26,600
متد post است و عنصر دوم بین
161
00:12:26,600 –> 00:12:29,780
بسته و خیابان بعدی قرار می گیرد. ep برای دریافت یک
162
00:12:29,780 –> 00:12:32,570
شی JSON است که
163
00:12:32,570 –> 00:12:35,660
تلگرام تمام اطلاعات مربوط به یک درخواست خاص را
164
00:12:35,660 –> 00:12:39,800
که در شی درخواست ذخیره شده است برای من ارسال می کند، بنابراین
165
00:12:39,800 –> 00:12:47,960
باید آن را از فلاسک import یک
166
00:12:47,960 –> 00:12:56,330
درخواست وارد کنم، آن مانند یک
167
00:12:56,330 –> 00:12:58,670
کتابخانه درخواست نیست، یک شی درخواست است.
168
00:12:58,670 –> 00:13:04,250
از flask Framework بنابراین اینجا در
169
00:13:04,250 –> 00:13:08,630
تابع index باید بررسی کنم که آیا
170
00:13:08,630 –> 00:13:13,820
درخواست پست دریافت کرده ام یا نه، بنابراین
171
00:13:13,820 –> 00:13:18,430
در عبارت if شما شروع می کنم اگر
172
00:13:18,430 –> 00:13:27,320
شی متد شی درخواست برابر است با ارسال، سپس
173
00:13:27,320 –> 00:13:33,470
دیگری را به معنی دریافت و دریافت
174
00:13:33,470 –> 00:13:39,760
درخواست ارسال می کنم. این رشته را برگردانید
175
00:13:39,760 –> 00:13:43,630
و در اینجا یک جزئیات مهم وجود دارد که
176
00:13:43,630 –> 00:13:47,360
برنامه فلاسک ما باید
177
00:13:47,360 –> 00:13:50,290
با کد وضعیت 200 به
178
00:13:50,290 –> 00:13:53,000
تلگرام پاسخ دهد در غیر این صورت تلگرام فکر می کند که
179
00:13:53,000 –> 00:13:56,000
پیام او را دریافت نکرده ایم
180
00:13:56,000 –> 00:13:59,360
و یک بار دیگر آن را ارسال می کنیم و دوباره و
181
00:13:59,360 –> 00:14:04,070
دوباره و دوباره و دوباره و برای انجام آن، من
182
00:14:04,070 –> 00:14:09,310
کلاس پاسخ را مهم هستم، بنابراین در اینجا
183
00:14:09,310 –> 00:14:14,209
از flask import
184
00:14:14,209 –> 00:14:22,939
answer Klaas و مقدار بازگشتی در
185
00:14:22,939 –> 00:14:28,839
دستور if، بدنه وزنی کلاس پاسخ خواهد بود،
186
00:14:28,839 –> 00:14:33,679
بنابراین بیایید
187
00:14:33,679 –> 00:14:39,399
ok و پارامتر وضعیت را ببینیم. er R برابر با 200 است و
188
00:14:39,399 –> 00:14:40,999
همین است که
189
00:14:40,999 –> 00:14:43,699
این عبارت بازگشتی
190
00:14:43,699 –> 00:14:46,490
از ارسال هرزنامه کیلوگرم به برد ما
191
00:14:46,490 –> 00:14:51,499
با درخواستهایش جلوگیری میکند و در نهایت باید
192
00:14:51,499 –> 00:14:55,699
شی JSON را دریافت کنم، بنابراین در اینجا
193
00:14:55,699 –> 00:15:03,110
یک متغیر جدید ایجاد میکنم، مثلاً پیام یا msg
194
00:15:03,110 –> 00:15:09,920
که برابر با درخواست است و شی درخواست
195
00:15:09,920 –> 00:15:17,589
یک متد دارد و جیسون را دریافت کنید و
196
00:15:17,589 –> 00:15:22,759
متغیر MSG شامل
197
00:15:22,759 –> 00:15:26,209
شی jason ارسال شده توسط تلگرام خواهد بود و حالا
198
00:15:26,209 –> 00:15:33,860
بیایید تابع سمت راست Jason را فراخوانی کنیم
199
00:15:33,860 –> 00:15:37,699
تا یک متغیر پیام داده شود و نام فایل جدید
200
00:15:37,699 –> 00:15:45,189
درخواست تلگرام به Jason خواهد
201
00:15:45,189 –> 00:15:48,949
بود. از قبل رایان است،
202
00:15:48,949 –> 00:15:57,319
پس بیایید و همانطور که ENTER را فشار می دهم، هر
203
00:15:57,319 –> 00:15:59,299
دو پیامی از تلگرام دریافت کرده اند
204
00:15:59,299 –> 00:16:01,579
و می توانیم یک فایل جدید
205
00:16:01,579 –> 00:16:07,429
درخواست تلگرام این یکی
206
00:16:07,429 –> 00:16:11,920
و پیام متنی ما را ببینیم و می توانیم پیام خود را به
207
00:16:11,920 –> 00:16:16,389
عنوان مقدار کلید متنی مشاهده کنیم.
208
00:16:16,389 –> 00:16:22,009
فرهنگ لغت نامه پیام مرحله بعدی تجزیه کننده فنجان بازار سکه ما
209
00:16:22,009 –> 00:16:24,769
یک رمز ارز را به عنوان یک استدلال در نظر می گیرد،
210
00:16:24,769 –> 00:16:26,280
211
00:16:26,280 –> 00:16:30,180
بنابراین من فرض می کنم که یک کاربر
212
00:16:30,180 –> 00:16:40,890
توصیه هایی مانند نوع BTC در
213
00:16:40,890 –> 00:16:44,240
دستور ربات BTC را به هیئت مدیره ما ارسال می کند زیرا یک / pre وجود دارد.
214
00:16:44,240 –> 00:16:49,020
متن یا هر پاسخ کیکر دیگری
215
00:16:49,020