در این مطلب، ویدئو Gangsta: یک چت بات تلگرام با پایتون از ابتدا با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,089 –> 00:00:02,460
سلام بچه ها در این ویدیو ما
2
00:00:02,460 –> 00:00:05,009
تابلوی نمودار تلگرام خودمان را با iton
3
00:00:05,009 –> 00:00:06,629
می سازیم که می توانیم برنامه ریزی کنیم تا اساساً
4
00:00:06,629 –> 00:00:09,420
هر کاری را که می خواهیم انجام دهیم،
5
00:00:09,420 –> 00:00:12,000
فریمورک میکرو خود را از ابتدا توسعه خواهیم داد تا
6
00:00:12,000 –> 00:00:16,020
به ما در انجام این کار کمک کند، بنابراین بیایید شروع کنیم، بنابراین
7
00:00:16,020 –> 00:00:17,970
ابتدا باید وابستگی ها
8
00:00:17,970 –> 00:00:20,279
را بگیرید تا ما به درخواست های L XML و
9
00:00:20,279 –> 00:00:22,920
beautifulsoup برای کتابخانه های پایتون نیاز داریم، بنابراین
10
00:00:22,920 –> 00:00:24,660
می توانید این دستور و ترمینال خود را تایپ کنید
11
00:00:24,660 –> 00:00:27,060
و اینتر را بزنید تا نصب اجرا شود
12
00:00:27,060 –> 00:00:29,169
13
00:00:29,169 –> 00:00:31,490
پس از اتمام آن، می خواهیم
14
00:00:31,490 –> 00:00:34,070
یک برد جدید ایجاد کنیم و آن را در تلگرام ثبت کنیم
15
00:00:34,070 –> 00:00:36,469
و این کار را انجام دهیم. ما چیزی
16
00:00:36,469 –> 00:00:38,420
به نام پدر ربات ها داریم، بنابراین
17
00:00:38,420 –> 00:00:40,820
پدرخوانده یک ابزار تلگرامی است که به
18
00:00:40,820 –> 00:00:44,329
ایجاد و مدیریت ربات های خود کمک می کند، بنابراین اگر
19
00:00:44,329 –> 00:00:45,890
از قبل اکانت تلگرام ندارید،
20
00:00:45,890 –> 00:00:48,140
به وب دات تلگرام
21
00:00:48,140 –> 00:00:50,329
org مراجعه کنید و بعد از آن شماره موبایل خود را با آن ثبت کنید.
22
00:00:50,329 –> 00:00:50,600
23
00:00:50,600 –> 00:00:52,970
شما وارد
24
00:00:52,970 –> 00:00:54,649
منوی جستجو شده اید و ربات
25
00:00:54,649 –> 00:00:56,479
را با تیک آبی در کنار آن جستجو
26
00:00:56,479 –> 00:00:59,030
کنید، سپس روی enter کلیک کنید و روی start کلیک کنید
27
00:00:59,030 –> 00:01:02,269
بعد از آن می توانید ربات اسلش جدید را تایپ کنید
28
00:01:02,269 –> 00:01:04,640
تا یک po جدید ایجاد کنید. به آن یک نام بدهید و
29
00:01:04,640 –> 00:01:06,470
نام کاربری داشته باشید و پس از اتمام کار
30
00:01:06,470 –> 00:01:09,049
، یک توکن API به شما داده میشود، بنابراین مطمئن
31
00:01:09,049 –> 00:01:13,009
شوید که آن را کپی کرده و نگهدارید، اکنون میتوانیم
32
00:01:13,009 –> 00:01:14,810
با API تلگرام آشنا شویم،
33
00:01:14,810 –> 00:01:17,409
بنابراین تلگرام یک REST آنلاین زیبا ارائه میکند.
34
00:01:17,409 –> 00:01:20,900
API که میتوانیم از آن برای ارسال
35
00:01:20,900 –> 00:01:23,270
پیام و دریافت پیامها و
36
00:01:23,270 –> 00:01:25,490
انواع چیزها استفاده کنیم،
37
00:01:25,490 –> 00:01:27,439
بنابراین اجازه دهید مرورگر خود را باز کنیم
38
00:01:27,439 –> 00:01:31,340
و API dot telegram dot org اسلش
39
00:01:31,340 –> 00:01:34,909
b OT bot را تایپ کنیم و سپس توکن API
40
00:01:34,909 –> 00:01:38,270
غلاف خود را در آن قرار دهیم. برای اینکه بدانیم چه
41
00:01:38,270 –> 00:01:40,640
پیامهایی به برد ما
42
00:01:40,640 –> 00:01:43,280
ارسال شده است، API تلگرام یک روش دریافت بهروزرسانی را
43
00:01:43,280 –> 00:01:45,740
ارائه میکند که وقتی در توکن ربات
44
00:01:45,740 –> 00:01:47,780
ما اجرا میشود، کل تاریخچه همه
45
00:01:47,780 –> 00:01:50,030
پیامهایی را که توسط مدل ما دریافت شده است
46
00:01:50,030 –> 00:01:52,939
به ما میدهد، همانطور که ربات خود را ساختهایم.
47
00:01:52,939 –> 00:01:55,159
پاسخ JSON را
48
00:01:55,159 –> 00:01:58,759
کاملاً خالی میدانیم، بنابراین بیایید به
49
00:01:58,759 –> 00:02:01,490
تلگرام برویم و برد خود را پیدا کنیم، بنابراین من میخواهم
50
00:02:01,490 –> 00:02:02,929
رباتی را که به تازگی
51
00:02:02,929 –> 00:02:06,649
ایجاد کردهام جستجو کنم و بعد از پیدا کردن آن،
52
00:02:06,649 –> 00:02:09,380
شروع را بزنم و سپس بیایید سعی کنیم
53
00:02:09,380 –> 00:02:10,970
آن را برای من بفرستیم ssage بنابراین من
54
00:02:10,970 –> 00:02:13,840
hello را در آنجا تایپ می کنم و بیایید ببینیم که آیا API
55
00:02:13,840 –> 00:02:16,459
ما وقتی روش دریافت به روز رسانی را دوباره اجرا می
56
00:02:16,459 –> 00:02:18,830
کنیم، ببینیم چه چیزی برمی گردد تا همانطور که
57
00:02:18,830 –> 00:02:21,470
انتظار می رود نتیجه JSON ما
58
00:02:21,470 –> 00:02:23,870
اکنون با دو ورودی با
59
00:02:23,870 –> 00:02:25,670
پیام هایی که به تازگی به ما ارسال کرده ایم پر شود. تابلو
60
00:02:25,670 –> 00:02:29,360
و هر ورودی اطلاعات زیادی دارد
61
00:02:29,360 –> 00:02:31,459
مانند شناسه شخصی که آن را ارسال کرده است
62
00:02:31,459 –> 00:02:33,920
شناسه فرزند شخصی که
63
00:02:33,920 –> 00:02:38,930
تاریخ را ارسال کرده است و در نهایت متن و همچنین در
64
00:02:38,930 –> 00:02:41,480
ورودی دوم پیام hello there
65
00:02:41,480 –> 00:02:42,280
66
00:02:42,280 –> 00:02:45,280
را داریم و دوباره یک به روز رسانی دارد.
67
00:02:45,280 –> 00:02:47,410
شناسه دارای یک شناسه چت است، نام شخصی که
68
00:02:47,410 –> 00:02:49,720
آن را ارسال کرده است و همچنین متن
69
00:02:49,720 –> 00:02:53,230
پیامی که در واقع در هنگام ارسال
70
00:02:53,230 –> 00:02:55,270
پیام دیگر و سپس به روز رسانی دریافت به روز رسانی که
71
00:02:55,270 –> 00:02:57,959
اسمیت شنیده است، وجود دارد، ما می توانیم ببینیم که هر سه
72
00:02:57,959 –> 00:03:00,280
پیامی که به آن ارسال کردیم. ربات ما
73
00:03:00,280 –> 00:03:03,970
هنوز وجود دارد و این ممکن است مشکل ساز باشد
74
00:03:03,970 –> 00:03:05,890
زیرا هر بار که
75
00:03:05,890 –> 00:03:07,780
روش دریافت به روز رسانی را فشار می دهیم، لیستی از
76
00:03:07,780 –> 00:03:09,610
تمام پیام هایی که
77
00:03:09,610 –> 00:03:12,040
از همان بدو تولد خریداری شده اند را به ما می دهد و
78
00:03:12,040 –> 00:03:14,830
ممکن است خیلی کارآمد نباشد، بنابراین الا
79
00:03:14,830 –> 00:03:16,840
گراهام inb خود را دارد پارامتر uilt در
80
00:03:16,840 –> 00:03:19,030
متد get updates نامیده می شود و به
81
00:03:19,030 –> 00:03:22,570
آن offset می گویند و اگر یک
82
00:03:22,570 –> 00:03:26,470
شناسه به روز رسانی را ارائه کنیم، در اینجا داریم اگر
83
00:03:26,470 –> 00:03:29,160
شناسه به روز رسانی را به عنوان offset ارائه کنیم و اینتر
84
00:03:29,160 –> 00:03:32,110
را بزنید، فقط پیام ها را
85
00:03:32,110 –> 00:03:36,010
از آن شناسه به روز رسانی به بعد دریافت می کنیم. بنابراین این
86
00:03:36,010 –> 00:03:38,730
یکی از راههای فیلتر کردن سریع پیامها است
87
00:03:38,730 –> 00:03:41,739
حالا بیایید سعی کنیم شناسه بهروزرسانی
88
00:03:41,739 –> 00:03:43,630
را یکبار افزایش دهیم و ببینیم چه چیزی به ما میدهد
89
00:03:43,630 –> 00:03:45,819
تا همانطور که انتظار میرود نتیجه خالی
90
00:03:45,819 –> 00:03:47,950
باشد زیرا چنین پیامی با
91
00:03:47,950 –> 00:03:50,650
آن شناسه بهروزرسانی وجود ندارد، پس بیایید
92
00:03:50,650 –> 00:03:56,739
اکنون پیامی ارسال کنیم. سپس وقتی تازه
93
00:03:56,739 –> 00:03:58,900
می کنیم می توانیم ببینیم که پیامی که به تازگی
94
00:03:58,900 –> 00:04:02,250
ارسال کرده ایم در پاسخ JSON ما موجود است،
95
00:04:02,250 –> 00:04:04,630
اما یک نقص کوچک نیز در این
96
00:04:04,630 –> 00:04:07,000
رویکرد وجود دارد زیرا می
97
00:04:07,000 –> 00:04:08,920
خواهیم دائماً پیام
98
00:04:08,920 –> 00:04:10,690
هایی را که خریداری کرده ایم بررسی کنیم و دریافت کرده ایم و این
99
00:04:10,690 –> 00:04:13,030
بدان معناست که اینکه ما
100
00:04:13,030 –> 00:04:15,459
بارها و بارها و
101
00:04:15,459 –> 00:04:17,890
بارها و بارها در مدت زمان کمی به نقطه پایانی API ضربه می زنیم، اما
102
00:04:17,890 –> 00:04:19,988
خوشبختانه برای ما تلگرام یک
103
00:04:19,988 –> 00:04:22,300
پارامتر دیگر را برای ما فراهم می کند تا زمان تماس را مشخص کنیم.
104
00:04:22,300 –> 00:04:26,110
پارامتر بنابراین وقتی
105
00:04:26,110 –> 00:04:27,669
مقدار آن پارامتر را
106
00:04:27,669 –> 00:04:30,460
صد مشخص می کنم و افست را هم آپدیت می
107
00:04:30,460 –> 00:04:33,070
کنم یا افست را یک برابر افزایش می دهم و اینتر را می زنم
108
00:04:33,070 –> 00:04:37,240
، اتصال باز می شود تا
109
00:04:37,240 –> 00:04:39,370
زمانی که پیامی با آن شناسه به روز رسانی دریافت کنم یا
110
00:04:39,370 –> 00:04:44,200
اگر مدت زمان بیشتر شود. 100 ثانیه
111
00:04:44,200 –> 00:04:45,850
تا ببینیم که اتصال هنوز
112
00:04:45,850 –> 00:04:48,280
باز است، پس بیایید اکنون به تلگرام برویم
113
00:04:48,280 –> 00:04:51,820
و سپس یک پیام سریع تایپ کنیم و سپس
114
00:04:51,820 –> 00:04:54,370
به محض دریافت پیام،
115
00:04:54,370 –> 00:04:56,020
اتصال بسته می شود و
116
00:04:56,020 –> 00:04:58,440
JSON پیامی را که به تازگی دریافت کرده ایم را برمی گرداند.
117
00:04:58,440 –> 00:05:01,330
روش رای گیری طولانی نامیده می شود و
118
00:05:01,330 –> 00:05:03,280
تعداد دفعاتی که از API تلگرام متنفریم را تا حد زیادی کاهش می دهد
119
00:05:03,280 –> 00:05:06,129
و
120
00:05:06,129 –> 00:05:08,020
روش API بعدی که در مورد آن بحث خواهیم کرد
121
00:05:08,020 –> 00:05:10,090
روش ارسال پیام نام دارد،
122
00:05:10,090 –> 00:05:12,639
روشی بسیار ساده است که به ربات اجازه می دهد
123
00:05:12,639 –> 00:05:15,580
یک پیام مشخص را به یک مورد
124
00:05:15,580 –> 00:05:18,009
مشخص ارسال کند. شخص این روش دو
125
00:05:18,009 –> 00:05:20,379
پارامتر را می گیرد یکی پارامتر X
126
00:05:20,379 –> 00:05:23,199
که پیامی است که باید ارسال شود و همچنین
127
00:05:23,199 –> 00:05:25,240
پارامتر دوم که شناسه چت
128
00:05:25,240 –> 00:05:27,099
شخصی است که می خواهید
129
00:05:27,099 –> 00:05:30,130
پیام را به اینجا بفرستید I’m gonna send t
130
00:05:30,130 –> 00:05:33,159
پیام کلاهی که به خودم پاسخ میدهد و وقتی این کار را انجام
131
00:05:33,159 –> 00:05:35,949
میدهم به من پاسخ JSON
132
00:05:35,949 –> 00:05:37,449
پیام را میدهد اما او تازه فرستاده است و وقتی
133
00:05:37,449 –> 00:05:39,370
تلگرام را مرور میکنید میبینیم که
134
00:05:39,370 –> 00:05:43,690
ربات من پاسخ داده است، بنابراین اکنون که
135
00:05:43,690 –> 00:05:45,880
خودمان با API تلگرام آشنا
136
00:05:45,880 –> 00:05:47,740
شدیم میتوانیم بنویسیم. توابع wrapper برای
137
00:05:47,740 –> 00:05:49,690
متدهایی که به تازگی در پایتون دیدیم و
138
00:05:49,690 –> 00:05:52,569
فریمورک میکرو را می سازند، بنابراین من یک
139
00:05:52,569 –> 00:05:54,759
پوشه جدید ساختم و در آن یک
140
00:05:54,759 –> 00:05:57,699
فایل جدید می سازم و توکن