FbRuby 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +876 -0
- data/lib/FbRuby/chats.rb +369 -0
- data/lib/FbRuby/comments.rb +178 -0
- data/lib/FbRuby/createaccount.rb +142 -0
- data/lib/FbRuby/exceptions.rb +25 -0
- data/lib/FbRuby/facebook.rb +453 -0
- data/lib/FbRuby/groups.rb +260 -0
- data/lib/FbRuby/login.rb +297 -0
- data/lib/FbRuby/messenger.rb +272 -0
- data/lib/FbRuby/posts.rb +267 -0
- data/lib/FbRuby/settings.rb +282 -0
- data/lib/FbRuby/tempmail.rb +56 -0
- data/lib/FbRuby/user.rb +550 -0
- data/lib/FbRuby/utils.rb +412 -0
- data/lib/FbRuby.rb +21 -0
- metadata +114 -0
data/README.md
ADDED
@@ -0,0 +1,876 @@
|
|
1
|
+
# FbRuby
|
2
|
+
|
3
|
+
**FbRuby** adalah library sederhana yang di gunakan untuk scraping web Facebook.
|
4
|
+
|
5
|
+
# Informasi Library
|
6
|
+
*Author :* [**Rahmat adha**](https://facebook.com/Anjay.pro098)\
|
7
|
+
*Library :* [**FbRuby**](https://github.com/MR-X-Junior/FbRuby)\
|
8
|
+
*License:* [**MIT License**](https://github.com/MR-X-junior/fbruby/blob/main/LICENSE)\
|
9
|
+
*Release:* 08/07/2024\
|
10
|
+
*Version :* **0.0.1**
|
11
|
+
|
12
|
+
Library ini merupakan remake dari library [fbthon](https://github.com/MR-X-Junior/fbthon)\
|
13
|
+
Di karenakan library ini masih versi pertama, pasti bakal banyak error/bug nya, jika menemukan error/bug pada library ini bisa langsung posting di [Issues](https://github.com/MR-X-junior/fbruby/issues) akun github saya :)
|
14
|
+
|
15
|
+
**Ini bukan dokumentasi full dari library FbRuby, masih banyal hal yang bisa di lakukan menggunakan library ini.**
|
16
|
+
**Dokumentasi ini hanya memuat fitur umum yang di gunakan untuk scraping web facebook**
|
17
|
+
|
18
|
+
## Contoh Cara Penggunaan
|
19
|
+
|
20
|
+
### Pertama-tama buat dulu object `Facebook` menggunakan cookie
|
21
|
+
|
22
|
+
```ruby
|
23
|
+
irb(main):001:0> require 'FbRuby'
|
24
|
+
irb(main):002:0> fb = FbRuby::Facebook.new("datr=xxxx")
|
25
|
+
```
|
26
|
+
|
27
|
+
### Jika tidak tidak mempunyai Cookie akun facebook, kamu bisa coba cara di bawah ini
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
irb(main):001:0> require 'FbRuby'
|
31
|
+
irb(main):002:0> email = "example@gmail.com"
|
32
|
+
irb(main):003:0> password = "admin123#"
|
33
|
+
irb(main):004:0> login = FbRuby::Login::Web_Login.new(email,password)
|
34
|
+
irb(main):005:0> cookie = login.get_cookie_str() # Ini adalah cookie akun Facebook kamu
|
35
|
+
irb(main):006:0> fb = FbRuby::Facebook.new(cookie)
|
36
|
+
```
|
37
|
+
|
38
|
+
Cara di [atas](#Jika-tidak-tidak-mempunyai-Cookie-akun-facebook-kamu-bisa-coba-cara-di-bawah-ini) akan login ke akun facebook, cara ini mungkin akan membuat akun facebook kamu terkena checkpoint.
|
39
|
+
|
40
|
+
Untuk mengurangi risiko akun terkena checkpoint, kamu hanya perlu mengganti user-agent yang sama dengan perangkat yang terakhir kali di gunakan untuk login akun facebook.
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
irb(main):001:0> require 'FbRuby'
|
44
|
+
irb(main):002:0> user_agent = {'User-Agent'=>'Mozilla/5.0 (Linux; Android 6.0.1; SM-J510GN Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36'}
|
45
|
+
irb(main):003:0> email = "example@gmail.com"
|
46
|
+
irb(main):004:0> password = "admin123#"
|
47
|
+
irb(main):005:0> login = FbRuby::Login::Web_Login.new(email,password,headers: user_agent)
|
48
|
+
irb(main):006:0> cookie = login.get_cookie_str() # Ini adalah cookie akun Facebook kamu
|
49
|
+
irb(main):007:0> fb = FbRuby::Facebook.new(cookie)
|
50
|
+
```
|
51
|
+
|
52
|
+
#### Optional Parameter
|
53
|
+
*(Untuk `Web_Login` class)*.
|
54
|
+
|
55
|
+
- **email**: Email akun Facebook, kamu juga bisa menggunakan id atau username sebagai pengganti email
|
56
|
+
- **password**: Password akun Facebook
|
57
|
+
- **save_login**: Menyimpan informasi login, default argument ini adalah `true`
|
58
|
+
- **free_facebook**: Gunakan `true` jika ingin menggukan web [free.facebook.com](https://free.facebook.com), default argument ini adalah `False`
|
59
|
+
- **headers**: ini yang akan di gunakan untuk headers `requests`
|
60
|
+
|
61
|
+
### Extract Profile
|
62
|
+
|
63
|
+
Method `get_profile` dapat mengekstrak informasi dari akun facebook, Method ini akan mengembalikan object `User`
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
irb(main):003:0> zuck = fb.get_profile("zuck")
|
67
|
+
irb(main):004:0> zuck.name
|
68
|
+
=> "Mark Zuckerberg"
|
69
|
+
irb(main):005:0> zuck.id
|
70
|
+
=> "4"
|
71
|
+
irb(main):006:0> zuck.user_info
|
72
|
+
=>
|
73
|
+
{"name"=>"Mark Zuckerberg",
|
74
|
+
"first_name"=>"Mark",
|
75
|
+
"middle_name"=>nil,
|
76
|
+
"last_name"=>"Zuckerberg",
|
77
|
+
"alternate_name"=>nil,
|
78
|
+
"about"=>"I'm trying to make the world a more open place.",
|
79
|
+
"username"=>"zuck",
|
80
|
+
"id"=>"4",
|
81
|
+
"contact_info"=>{"Facebook"=>"/zuck"},
|
82
|
+
"profile_pict"=>
|
83
|
+
"https://scontent.fsri1-1.fna.fbcdn.net/v/t39.30808-1/430796318_10115540567190571_8582399341104871939_n.jpg?stp=cp0_dst-jpg_e15_p74x74_q65&_nc_cat=1&ccb=1-7&_nc_sid=6738e8&efg=eyJpIjoiYiJ9&_nc_eui2=AeHQSiRakzAb_b4HMsaXKlBB3zoKFLy_VnHfOgoUvL9WcT8fYXzsEF17SuUlv21wIR24YwfaSCPTzB2o7sbKvnKv&_nc_ohc=VNHCRlcOVWYQ7kNvgHreskn&_nc_ht=scontent.fsri1-1.fna&oh=00_AYAVtyX9DcSjX7XVYPNiJzZe0DTCzrpd6CrkEcDleE7TlQ&oe=668F2433",
|
84
|
+
"basic_info"=>
|
85
|
+
{"Birthday"=>"May 14, 1984",
|
86
|
+
"Gender"=>"Male",
|
87
|
+
"Languages"=>"English language and Mandarin Chinese"},
|
88
|
+
"education"=>
|
89
|
+
[{"name"=>"Harvard University",
|
90
|
+
"type"=>"Computer Science and Psychology",
|
91
|
+
"study"=>nil,
|
92
|
+
"time"=>"August 30, 2002 - April 30, 2004"},
|
93
|
+
{"name"=>"Phillips Exeter Academy",
|
94
|
+
"type"=>"Classics",
|
95
|
+
"study"=>nil,
|
96
|
+
"time"=>"Class of 2002"},
|
97
|
+
{"name"=>"Ardsley High School",
|
98
|
+
"type"=>"High school",
|
99
|
+
"study"=>nil,
|
100
|
+
"time"=>"September 1998 - June 2000"}],
|
101
|
+
"work"=>
|
102
|
+
[{"name"=>"Chan Zuckerberg Initiative", "time"=>nil},
|
103
|
+
{"name"=>"Meta", "time"=>nil}],
|
104
|
+
"living"=>
|
105
|
+
{"Current city"=>"Palo Alto, California",
|
106
|
+
"Hometown"=>"Dobbs Ferry, New York"},
|
107
|
+
"relationship"=>"Married to Priscilla Chan since May 19, 2012",
|
108
|
+
"other_name"=>[],
|
109
|
+
"family"=>[],
|
110
|
+
"year_overviews"=>
|
111
|
+
{"2023"=>["Aurelia was born"],
|
112
|
+
"2017"=>["August Was Born", "Harvard Degree"],
|
113
|
+
"2015"=>
|
114
|
+
["Started New Job at Chan Zuckerberg Initiative", "Max Was Born"],
|
115
|
+
"2012"=>["Married Priscilla Chan", "Other Life Event"],
|
116
|
+
"2011"=>["Became a Vegetarian"],
|
117
|
+
"2010"=>["Started Learning Mandarin Chinese"],
|
118
|
+
"2009"=>["Wore a Tie for a Whole Year"],
|
119
|
+
"2006"=>["Launched News Feed"],
|
120
|
+
"2004"=>
|
121
|
+
["Launched the Wall",
|
122
|
+
"Started New Job at Meta",
|
123
|
+
"Left Harvard University"],
|
124
|
+
"2002"=>
|
125
|
+
["Started School at Harvard University",
|
126
|
+
"Graduated from Phillips Exeter Academy"],
|
127
|
+
"2000"=>
|
128
|
+
["Started School at Phillips Exeter Academy",
|
129
|
+
"Left Ardsley High School"],
|
130
|
+
"1998"=>["Started School at Ardsley High School"]},
|
131
|
+
"quote"=>
|
132
|
+
"\"Fortune favors the bold.\" - Virgil, Aeneid X.284 \"All children are artists. The problem is how to remain an artist once you grow up.\" - Pablo Picasso \"Make things as simple as possible but no simpler.\" - Albert Einstein"}
|
133
|
+
```
|
134
|
+
|
135
|
+
**Gunakan `me` jika ingin mengekstrak informasi dari akun kamu**\
|
136
|
+
**Contoh**:
|
137
|
+
|
138
|
+
```ruby
|
139
|
+
irb(main):007:0> my_profile = fb.get_profile("me")
|
140
|
+
irb(main):008:0> my_profile.name
|
141
|
+
=> "Rahmat"
|
142
|
+
irb(main):009:0> my_profile.id
|
143
|
+
=> "100053033144051"
|
144
|
+
irb(main):010:0> my_profile.username
|
145
|
+
=> "Anjay.pro098"
|
146
|
+
irb(main):011:0> my_profile.user_info
|
147
|
+
=>
|
148
|
+
{"name"=>"Rahmat",
|
149
|
+
"first_name"=>"Rahmat",
|
150
|
+
"middle_name"=>nil,
|
151
|
+
"last_name"=>nil,
|
152
|
+
"alternate_name"=>"Mat",
|
153
|
+
"about"=>nil,
|
154
|
+
"username"=>"Anjay.pro098",
|
155
|
+
"id"=>"100053033144051",
|
156
|
+
"contact_info"=>
|
157
|
+
{"Facebook"=>"/Anjay.pro098",
|
158
|
+
"GitHub"=>"MR-X-Junior",
|
159
|
+
"LinkedIn"=>"rahmat-adha"},
|
160
|
+
"profile_pict"=>
|
161
|
+
"https://scontent.fsri1-1.fna.fbcdn.net/v/t39.30808-1/279908382_524601785984255_7727931677642432211_n.jpg?stp=cp0_dst-jpg_e15_p74x74_q65&_nc_cat=109&ccb=1-7&_nc_sid=6738e8&efg=eyJpIjoiYiJ9&_nc_eui2=AeGk2lfxRnK2L8JQaHWHIjJ6oWFvcSuRApChYW9xK5ECkIOHPDgqB5OCJyHTOX3QEknK9IedKbAdZFqjICCthTjf&_nc_ohc=bJDHLPYQ914Q7kNvgEwvq13&_nc_ht=scontent.fsri1-1.fna&oh=00_AYCe1hLezYj5oKvA-6zjN5Suuu1Hjcq7ARhGx4bAvF5AGA&oe=668EFD8F",
|
162
|
+
"basic_info"=>
|
163
|
+
{"Birthday"=>"January 13, 2006",
|
164
|
+
"Gender"=>"Male",
|
165
|
+
"Languages"=>"Bahasa Indonesia"},
|
166
|
+
"education"=>[],
|
167
|
+
"work"=>[],
|
168
|
+
"living"=>{},
|
169
|
+
"relationship"=>nil,
|
170
|
+
"other_name"=>[{"Nickname"=>"Mat"}, {"Nickname"=>"Met"}],
|
171
|
+
"family"=>[],
|
172
|
+
"year_overviews"=>{},
|
173
|
+
"quote"=>"i know i'm not alone"}
|
174
|
+
```
|
175
|
+
|
176
|
+
### Extract Groups
|
177
|
+
Method `get_groups` dapat mengekstrak informasi dari groups facebook, Method ini akan mengembalikan object `Groups`
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
irb(main):010:0> grup = fb.get_groups("1547113062220560")
|
181
|
+
irb(main):011:0> grup.name
|
182
|
+
=> "Python - Indonesian Programmers"
|
183
|
+
irb(main):013:0> grup.group_id
|
184
|
+
=> "1547113062220560"
|
185
|
+
irb(main):014:0> grup.total_members
|
186
|
+
=> 109119
|
187
|
+
```
|
188
|
+
|
189
|
+
### Update Profile Picture
|
190
|
+
Kamu bisa menggunakan function `UpdateProfilePicture` untuk mengganti poto profile akun Facebook kamu.
|
191
|
+
|
192
|
+
**Contoh:**
|
193
|
+
|
194
|
+
```ruby
|
195
|
+
irb(main):004:0> FbRuby::Settings.UpdateProfilePicture(fb, "/sdcard/IMG_20240610_055515.jpg")
|
196
|
+
=> true
|
197
|
+
```
|
198
|
+
|
199
|
+
#### Hasilnya
|
200
|
+
|
201
|
+
##### Sebelum
|
202
|
+
|
203
|
+

|
204
|
+
|
205
|
+
##### Sesudah
|
206
|
+
|
207
|
+

|
208
|
+
|
209
|
+
### Update Cover Profile
|
210
|
+
Kamu bisa menggunakan function `UpdateCoverPicture` untuk mengganti poto profile akun Facebook kamu.
|
211
|
+
|
212
|
+
**Contoh:**
|
213
|
+
|
214
|
+
```ruby
|
215
|
+
irb(main):008:0> FbRuby::Settings.UpdateCoverPicture(fb, "/sdcard/cover.jpg")
|
216
|
+
=> true
|
217
|
+
```
|
218
|
+
|
219
|
+
#### Hasilnya
|
220
|
+
|
221
|
+
##### Sebelum
|
222
|
+
|
223
|
+

|
224
|
+
|
225
|
+
##### Sesudah
|
226
|
+
|
227
|
+

|
228
|
+
|
229
|
+
|
230
|
+
### Get Notifications
|
231
|
+
Kamu bisa menggunakan method `get_notifications` untuk mendapatkan notifikasi terbaru dari akun Facebook.
|
232
|
+
|
233
|
+
```ruby
|
234
|
+
irb(main):016:0> fb.get_notifications(limit = 1)
|
235
|
+
=>
|
236
|
+
[{"message"=>
|
237
|
+
"Welcome to Facebook! Tap here to find people you know and add them as friends.",
|
238
|
+
"time"=>"46 minutes ago",
|
239
|
+
"redirect_url"=>
|
240
|
+
"https://mbasic.facebook.com/a/notifications.php?redir=%2Ffriends%2Fcenter%2Frequests%2F%3Feav%3DAfYfmGT4ELN6D-CzMS7ytUaBB88FEN5Mi8CZS3RbN84XsqHCbVEqb0kMBlPPXTNKydk%26paipv%3D0&seennotification=1720272846463938&eav=AfaG83DbRVDKwHTs8u9v8R9xLBlc41faflfaPLdB0LH31q5KueCpTHrgbC30Qo_lEQg&gfid=AQAwsSt-rcLzdWk8sHw&paipv=0&refid=48"}]
|
241
|
+
```
|
242
|
+
|
243
|
+
### Get Posts
|
244
|
+
|
245
|
+
#### User
|
246
|
+
Method `get_posts_user`, akan mengumpulkan postingan dan mengekstrak postingan tersebut, method ini akan mengembalikan `Array` yang di dalam nya terdapat sekumpulan object `Posts`
|
247
|
+
|
248
|
+
```ruby
|
249
|
+
irb(main):004:1* for x in fb.get_posts_user("Anjay.pro098", limit = 2)
|
250
|
+
irb(main):005:1* puts ("Author : #{x.author}")
|
251
|
+
irb(main):006:1* puts ("Caption: #{x.caption}")
|
252
|
+
irb(main):007:1* puts ("Upload Time : #{x.upload_time}\n")
|
253
|
+
irb(main):008:0> end
|
254
|
+
```
|
255
|
+
|
256
|
+
##### Output
|
257
|
+
```ruby
|
258
|
+
Author : Rahmat
|
259
|
+
Caption: Hello World 🌍
|
260
|
+
Upload Time : May 17, 2021 at 1:15 PM
|
261
|
+
|
262
|
+
Author : Rahmat
|
263
|
+
Caption: 🗿
|
264
|
+
Upload Time : September 21, 2021 at 7:09 PM
|
265
|
+
```
|
266
|
+
|
267
|
+
#### Groups
|
268
|
+
Method `get_posts_groups`, akan mengumpulkan postingan dari grup dan mengekstrak postingan tersebut, method ini akan mengembalikan `Array` yang di dalam nya terdapat sekumpulan object `Posts`
|
269
|
+
|
270
|
+
```ruby
|
271
|
+
for x in fb.get_posts_groups("1547113062220560", limit = 2)
|
272
|
+
irb(main):005:1* puts ("Author : #{x.author}")
|
273
|
+
irb(main):006:1* puts ("Caption: #{x.caption}")
|
274
|
+
irb(main):007:1* puts ("Upload Time : #{x.upload_time}\n")
|
275
|
+
irb(main):008:0> end
|
276
|
+
```
|
277
|
+
|
278
|
+
##### Output
|
279
|
+
```ruby
|
280
|
+
Author : Umar Alvaro
|
281
|
+
Captoon: The temperature here does anyone have a source code for identifying the disease of onion plants? 🙏
|
282
|
+
Upload Time : July 2 at 5:53 AM
|
283
|
+
|
284
|
+
Author : Andi Faqih
|
285
|
+
Captoon: Info guru yang sudah berpengalaman, kalau web panel yang tidak ada menu daftar dan kontak developernya gaada apakah ada trik untuk masuk ya? Kalau ada mungkin ada yg bisa bantu ada fee nya🙏🙏
|
286
|
+
Upload Time : July 2 at 5:53 AM
|
287
|
+
```
|
288
|
+
|
289
|
+
#### Beranda
|
290
|
+
Method `get_home_posts`, akan mengumpulkan postingan dari beranda method ini akan mengembalikan `Array` yang di dalam nya terdapat sekumpulan object `Posts`
|
291
|
+
|
292
|
+
```ruby
|
293
|
+
irb(main):003:1* for post in fb.get_home_posts(limit = 3)
|
294
|
+
irb(main):004:1* puts ("Author : #{post.author}")
|
295
|
+
irb(main):005:1* puts ("Caption: #{post.caption}")
|
296
|
+
irb(main):006:1* puts ("Upload Time : #{post.upload_time}\n\n")
|
297
|
+
irb(main):007:0> end
|
298
|
+
```
|
299
|
+
|
300
|
+
##### Output
|
301
|
+
```ruby
|
302
|
+
Author : Satoshi Jinomoto
|
303
|
+
Caption: Inikah namanya jepe.
|
304
|
+
Upload Time : July 4 at 8:54 AM
|
305
|
+
|
306
|
+
Author : Zanna Na
|
307
|
+
Caption: Foto terbaik sepanjang masa ❤️❤️❤️📷
|
308
|
+
Upload Time : July 1 at 5:35 PM
|
309
|
+
|
310
|
+
Author : Cewek Dayak
|
311
|
+
Caption: Palangkaraya
|
312
|
+
Upload Time : July 6 at 12:01 PM
|
313
|
+
```
|
314
|
+
|
315
|
+
### Post Parser
|
316
|
+
|
317
|
+
Method `post_parser` di gunakan untuk mengekstrak postingan, method ini akan mengembalikan object `Posts`
|
318
|
+
|
319
|
+
```ruby
|
320
|
+
irb(main):014:0> post = fb.post_parser("https://www.facebook.com/100053033144051/posts/pfbid02kW92DAKmVBu2tZ9eiBGCPqGdrKst9oYjN8ZE2XzFpYsdQdqwsjGEWYgx1adCGTBbl/?app=fbl")
|
321
|
+
irb(main):015:0> post.author
|
322
|
+
=> "Rahmat"
|
323
|
+
irb(main):016:0> post.author_url
|
324
|
+
=> #<URI::HTTPS https://mbasic.facebook.com/Anjay.pro098?eav=AfZMKVpAbkXW4Nxs8ZmPLIBBiWZQT8Uk-FzmF14eifN0CJqv7-KdWMTXLoN7qe6I4sw&__tn__=C-R&paipv=0>
|
325
|
+
irb(main):017:0> post.caption
|
326
|
+
=> "Hello World 🌍"
|
327
|
+
irb(main):018:0> post.post_file
|
328
|
+
=>
|
329
|
+
{"image"=>
|
330
|
+
[{"link"=>
|
331
|
+
"https://scontent.fsri1-1.fna.fbcdn.net/v/t39.30808-6/241434705_371774571266978_6844800659294160676_n.jpg?stp=cp0_dst-jpg_e15_p75x225_q65&_nc_cat=104&ccb=1-7&_nc_sid=e21142&efg=eyJpIjoiYiJ9&_nc_eui2=AeFMDu_ViT5NEX3O-d6gfn849HuYP8xaWmP0e5g_zFpaY3m1XYFSpHejMH0idJ8-Vsex6_8oqLj0Q8mB68nL9veo&_nc_ohc=imu3pxOh-RQQ7kNvgGOLueJ&tn=DX4SAjJgwj_VJcSD&_nc_zt=23&_nc_ht=scontent.fsri1-1.fna&oh=00_AYAy8jdcLSeJGLgWAjUOQREaTgjhcYNuMOEkGQZF-qottg&oe=668FA5CF",
|
332
|
+
"id"=>"241434705_371774571266978_6844800659294160676",
|
333
|
+
"preview"=>
|
334
|
+
"https://scontent.fsri1-1.fna.fbcdn.net/v/t39.30808-6/241434705_371774571266978_6844800659294160676_n.jpg?stp=cp0_dst-jpg_e15_q65_s240x240&_nc_cat=104&ccb=1-7&_nc_sid=e21142&efg=eyJpIjoiYiJ9&_nc_eui2=AeFMDu_ViT5NEX3O-d6gfn849HuYP8xaWmP0e5g_zFpaY3m1XYFSpHejMH0idJ8-Vsex6_8oqLj0Q8mB68nL9veo&_nc_ohc=imu3pxOh-RQQ7kNvgGOLueJ&tn=DX4SAjJgwj_VJcSD&_nc_zt=23&_nc_ht=scontent.fsri1-1.fna&oh=00_AYCmr9nKE8jjhBi_UlnLe6vg6-KKBw92JawTVvXeTnAW5g&oe=668FA5CF",
|
335
|
+
"content-type"=>"image"}],
|
336
|
+
"video"=>[]}
|
337
|
+
irb(main):019:0> post.get_react()
|
338
|
+
=>
|
339
|
+
{"like"=>5847,
|
340
|
+
"love"=>975,
|
341
|
+
"care"=>9,
|
342
|
+
"haha"=>7,
|
343
|
+
"wow"=>884,
|
344
|
+
"sad"=>0,
|
345
|
+
"angry"=>1}
|
346
|
+
```
|
347
|
+
|
348
|
+
#### Mengirim Komentar
|
349
|
+
|
350
|
+
Kamu bisa menggunakan method `send_comment` untuk mengirim komentar.
|
351
|
+
Method `send_comment` akan mengembalikan `true` Jika berhasil mengirim komentar.
|
352
|
+
|
353
|
+
**Contoh:**
|
354
|
+
|
355
|
+
```ruby
|
356
|
+
irb(main):020:0> post.send_comment("Hallo Om #{post.author}, komentar ini di tulis menggunakan library FbRuby\nBaris 3\nBaris 4")
|
357
|
+
=> true
|
358
|
+
```
|
359
|
+
|
360
|
+
##### Hasilnya
|
361
|
+
**Liat Komentar paling bawah**
|
362
|
+
|
363
|
+

|
364
|
+
|
365
|
+
Untuk menambahkan foto pada komentar, kamu bisa menggunakan argument `file`
|
366
|
+
|
367
|
+
**Contoh:**
|
368
|
+
|
369
|
+
```ruby
|
370
|
+
irb(main):004:0> post.send_comment("Komentar ini tidak di sertai dengan foto")
|
371
|
+
=> true
|
372
|
+
irb(main):005:0> post.send_comment("Komentar ini di sertai dengan foto", file = "/sdcard/cover.jpg")
|
373
|
+
=> true
|
374
|
+
```
|
375
|
+
|
376
|
+
##### Hasilnya
|
377
|
+
|
378
|
+

|
379
|
+
|
380
|
+
#### Memberikan react pada postingan
|
381
|
+
|
382
|
+
Kamu bisa menggunakan method `send_react` untuk memberikan react pada postingan.
|
383
|
+
Method ini akan mengembalikan `true` jika berhasil memberikan react pada postingan.
|
384
|
+
|
385
|
+
```ruby
|
386
|
+
irb(main):006:1* post.send_react(react_type)
|
387
|
+
=> true
|
388
|
+
```
|
389
|
+
|
390
|
+
Terdapat 7 React Type, di antaranya :
|
391
|
+
- Like
|
392
|
+
- Love
|
393
|
+
- Care
|
394
|
+
- Haha
|
395
|
+
- Wow
|
396
|
+
- Sad
|
397
|
+
- Angry
|
398
|
+
|
399
|
+
**Contoh Cara mengirim react:**
|
400
|
+
```ruby
|
401
|
+
irb(main):007:0> post.send_react("wow")
|
402
|
+
=> true
|
403
|
+
```
|
404
|
+
|
405
|
+
##### Hasilnya
|
406
|
+

|
407
|
+
|
408
|
+
##### Membagikan Postingan
|
409
|
+
Kamu bisa menggunakan method `share_post` untuk membagikan postingan seseorang ke akun Facebook kamu.
|
410
|
+
|
411
|
+
**Contoh (1):**
|
412
|
+
|
413
|
+
```ruby
|
414
|
+
irb(main):009:0> post.share_post()
|
415
|
+
=> true
|
416
|
+
```
|
417
|
+
|
418
|
+
##### Hasilnya
|
419
|
+
|
420
|
+

|
421
|
+
|
422
|
+
**Contoh (2):**
|
423
|
+
|
424
|
+
Kamu juga bisa menambahkan `message`,`location` dan `feeling` pada postingan yang di bagikan.
|
425
|
+
|
426
|
+
```ruby
|
427
|
+
irb(main):011:0> post.share_post("Postingan ini di bagikan menggunakan library FbRuby:)",location = "Samarinda", feeling = "Happy")
|
428
|
+
=> true
|
429
|
+
```
|
430
|
+
|
431
|
+
##### Hasilnya
|
432
|
+

|
433
|
+
|
434
|
+
### Messenger
|
435
|
+
|
436
|
+
object `Messenger` bisa di gunakan untuk mengirim/menerima chat.\
|
437
|
+
Terdapat 2 cara untuk membuat Object `Messenger`
|
438
|
+
|
439
|
+
**Cara 1**
|
440
|
+
|
441
|
+
```ruby
|
442
|
+
irb(main):014:0> msg = fb.messenger
|
443
|
+
=> Facebook Messenger
|
444
|
+
```
|
445
|
+
**Cara 2**
|
446
|
+
|
447
|
+
```ruby
|
448
|
+
irb(main):013:0> msg = FbRuby::Messenger.new(request_session: login.sessions)
|
449
|
+
```
|
450
|
+
|
451
|
+
#### Mendapatkan Pesan Baru
|
452
|
+
Method `get_new_message` bisa di gunakan untuk mendapatkan pesan baru:)
|
453
|
+
|
454
|
+
```ruby
|
455
|
+
irb(main):023:1* for chat in msg.get_new_message(limit = 2)
|
456
|
+
irb(main):024:1* puts ("Nama : #{chat['name']}")
|
457
|
+
irb(main):025:1* puts ("Id Akun : #{chat['id']}")
|
458
|
+
irb(main):026:1* puts ("Last Chat : #{chat['last_chat']}")
|
459
|
+
irb(main):027:1* puts ("Time : #{chat['time']}\n\n")
|
460
|
+
irb(main):028:0> end
|
461
|
+
```
|
462
|
+
|
463
|
+
##### Output
|
464
|
+
|
465
|
+
```ruby
|
466
|
+
Nama : Rahmat
|
467
|
+
Id Akun : 100053033144051
|
468
|
+
Last Chat : Hallo Kak Rahmat:)
|
469
|
+
Time : 11 menit lalu
|
470
|
+
|
471
|
+
Nama : Mark Zuckerberg
|
472
|
+
Id Akun : 4
|
473
|
+
Last Chat : Ban Akun aku dong om
|
474
|
+
Time : 4 Mar
|
475
|
+
```
|
476
|
+
|
477
|
+
Method `get_new_chat` juga bisa di gunakan untuk mendapatkan pesan baru, tetapi method ini berbeda dengan method `get_new_message`
|
478
|
+
|
479
|
+
```ruby
|
480
|
+
irb(main):021:0> msg.get_new_message(limit = 3)
|
481
|
+
=>
|
482
|
+
[{"name"=>"Raven Rivera",
|
483
|
+
"id"=>"61561488837481", "last_chat"=>
|
484
|
+
"You can now call each other and see information like Active Status and when you've read messages.",
|
485
|
+
"chat_url"=>
|
486
|
+
"https://mbasic.facebook.com/messages/read/?tid=cid.c.61561488837481%3A100086839940375&surface_hierarchy=unknown&eav=AfaVL0CWoprvEWrDytJxVPgWYSKf1qPc2R6mwIaxOEKCUd9jb1Rtuc3C3R7ioJnbaXE&paipv=0&refid=11#fua",
|
487
|
+
"time"=>"4 minutes ago"}, {"name"=>"Tasiah",
|
488
|
+
"id"=>"61561488837481",
|
489
|
+
"last_chat"=>"tc",
|
490
|
+
"chat_url"=>
|
491
|
+
"https://mbasic.facebook.com/messages/read/?tid=cid.c.61561488837481%3A100088905378115&surface_hierarchy=unknown&eav=AfZPigYLcgSOeKbgGTWOEdODEj_xSyRZ6K1pcyLojIhbqE80bXBgxX8EWSsjHRIXirw&paipv=0&refid=11#fua",
|
492
|
+
"time"=>"8 minutes ago"},
|
493
|
+
{"name"=>"Welda Ningsih", "id"=>"61561488837481",
|
494
|
+
"last_chat"=>"You are now connected on Messenger",
|
495
|
+
"chat_url"=>
|
496
|
+
"https://mbasic.facebook.com/messages/read/?tid=cid.c.61561488837481%3A100000230663103&surface_hierarchy=unknown&eav=Afa-6wgOtq4fDJUYW1Srviky-fA7LIUQys3VE12JN48dOPiYzrqrKPI5JjZnTFyQWts&paipv=0&refid=11#fua",
|
497
|
+
"time"=>"Jun 27"}]
|
498
|
+
irb(main):022:0> msg.get_new_chat(limit = 3)
|
499
|
+
=>
|
500
|
+
[Facebook Chats : name="Tasiah" id="100088905378115" chat_id="61561488837481:100088905378115" chat_type="user",
|
501
|
+
Facebook Chats : name="Welda Ningsih" id="100000230663103" chat_id="61561488837481:100000230663103" chat_type="user",
|
502
|
+
Facebook Chats : name="Raven Rivera" id="100086839940375" chat_id="61561488837481:100086839940375" chat_type="user"]
|
503
|
+
```
|
504
|
+
|
505
|
+
Dari code di atas kita sudah bisa menyimpulkan perbedaan method `get_new_message` dan method `get_new_chat`.
|
506
|
+
|
507
|
+
Method `get_new_message` akan mengembalikan `Array` yang di dalam nya terdapat sekumpulan `Hash`, sedangkan method `get_new_chat` akan mengembalikan `Array` yang di dalam nya terdapat sekumpulan object `Chats`.
|
508
|
+
|
509
|
+
#### Mengirim Pesan
|
510
|
+
|
511
|
+
Kamu bisa menggunakan method `new_chat` untuk mengirim pesan, method ini akan mengembalikan object `Chats`
|
512
|
+
|
513
|
+
```ruby
|
514
|
+
irb(main):024:0> chat = msg.new_chat("zuck")
|
515
|
+
=> Facebook Chats : name="Mark Zuckerberg" id="4" chat_id=nil cha...
|
516
|
+
irb(main):025:0> chat.send_text('Assalamualaikum')
|
517
|
+
=> true
|
518
|
+
irb(main):026:0> chat.send_text("Hallo Om #{chat.name}")
|
519
|
+
=> true
|
520
|
+
irb(main):027:0> chat.send_text("Apa kabar?")
|
521
|
+
=> true
|
522
|
+
irb(main):028:0> chat.send_text("Pesan ini di kirim menggunakan library FbRuby\n\nTerima kasih sudah membaca chat saya")
|
523
|
+
=> true
|
524
|
+
|
525
|
+
```
|
526
|
+
|
527
|
+
##### Hasilnya
|
528
|
+

|
529
|
+
|
530
|
+
Kamu bisa menggunakan method `send_images` untuk mengirim chat dengan foto.
|
531
|
+
|
532
|
+
**Contoh:**
|
533
|
+
|
534
|
+
```ruby
|
535
|
+
irb(main):029:0> mat = msg.new_chat("Anjay.pro098")
|
536
|
+
=> Facebook Chats : name="Rahmat" id="100053033144051" chat_id=ni...
|
537
|
+
irb(main):030:0> mat.send_text("Hallo kak #{mat.name}")
|
538
|
+
=> true
|
539
|
+
irb(main):031:0> mat.send_text("Pesan ini di kirim menggunakan library FbRuby")
|
540
|
+
=> true
|
541
|
+
irb(main):032:0> mat.send_images(file = "/sdcard/cover.jpg","Tes")
|
542
|
+
=> true
|
543
|
+
```
|
544
|
+
|
545
|
+
##### Hasilnya
|
546
|
+

|
547
|
+
|
548
|
+
Untuk Mengirim foto dengan jumblah lebih dari 1 file, gunakan Array pada parameter `file`
|
549
|
+
|
550
|
+
**Contoh:**
|
551
|
+
|
552
|
+
```ruby
|
553
|
+
mat.send_images(file = ["/sdcard/1.jpg","/sdcard/2.jpg","/sdcard/3.jpg"])
|
554
|
+
=> true
|
555
|
+
```
|
556
|
+
|
557
|
+
##### Hasilnya
|
558
|
+

|
559
|
+
|
560
|
+
Untuk Mengirim Stiker kamu bisa menggunakan method `send_sticker`, method ini akan mengembalikan `true` jika berhasil mengirim stiker
|
561
|
+
|
562
|
+
**Secara bawaan library FbRuby mempunyai beberapa stiker:**
|
563
|
+
|
564
|
+
| Nama Stiker | ID Stiker |
|
565
|
+
|--------------------------------|-------------------|
|
566
|
+
| smile | 529233727538989 |
|
567
|
+
| crying | 529233744205654 |
|
568
|
+
| angry | 529233764205652 |
|
569
|
+
| heart_eyes | 529233777538984 |
|
570
|
+
| happy_heart | 529233794205649 |
|
571
|
+
| laugh | 529233810872314 |
|
572
|
+
| fearful | 529233834205645 |
|
573
|
+
| sleeping | 529233847538977 |
|
574
|
+
| grimacing | 529233954205633 |
|
575
|
+
| creazy_face | 529233967538965 |
|
576
|
+
| smiling_face_with_sunglasses | 529233864205642 |
|
577
|
+
| face_with_spiral_eyes | 529233884205640 |
|
578
|
+
| face_blowing_a_kiss | 529233917538970 |
|
579
|
+
| face_vomiting | 529233937538968 |
|
580
|
+
| face_screaming | 529233980872297 |
|
581
|
+
|
582
|
+
**Contoh:**
|
583
|
+
|
584
|
+
```ruby
|
585
|
+
irb(main):007:0> mat.send_sticker("smile")
|
586
|
+
=> true
|
587
|
+
irb(main):008:0> mat.send_sticker("crying")
|
588
|
+
=> true
|
589
|
+
```
|
590
|
+
|
591
|
+
##### Hasilnya
|
592
|
+

|
593
|
+
|
594
|
+
## Membuat Postingan
|
595
|
+
|
596
|
+
### Akun Pengguna
|
597
|
+
|
598
|
+
method `create_timeline_user` bisa di gunakan untuk membuat postingan di akun pengguna, method ini akan mengembalikan `true` jika berhasil membuat postingan.
|
599
|
+
|
600
|
+
#### Membuat Postingan (Hanya Caption)
|
601
|
+
|
602
|
+
```ruby
|
603
|
+
irb(main):007:0> fb.create_timeline_user(target = "me", message = "Hallo Dunia^^")
|
604
|
+
=> true
|
605
|
+
```
|
606
|
+
|
607
|
+
##### Hasilnya
|
608
|
+

|
609
|
+
|
610
|
+
#### Membuat Postingan di akun teman
|
611
|
+
Untuk membuat postingan di akun teman, kamu hanya perlu mengganti argumen dari parameter `target` menjadi id atau username teman kamu:)
|
612
|
+
|
613
|
+
**Contoh:**
|
614
|
+
|
615
|
+
```python
|
616
|
+
irb(main):008:0> fb.create_timeline_user(target = "Id atau username akun teman", message = "Postingan ini di buat menggunakan library FbRuby\n\nHehe")
|
617
|
+
=> true
|
618
|
+
```
|
619
|
+
|
620
|
+
##### Hasilnya
|
621
|
+

|
622
|
+
|
623
|
+
#### Membuat Postingan (Tag Teman)
|
624
|
+
Untuk menandai teman pada postingan, kamu bisa menggunakan argumen `users_with`.
|
625
|
+
|
626
|
+
```ruby
|
627
|
+
irb(main):003:0> fb.create_timeline_user(target = "me", message = "Postingan ini di buat menggunakan library FbRuby", users_with: "id akun facebook teman")
|
628
|
+
=> true
|
629
|
+
```
|
630
|
+
|
631
|
+
##### Hasilnya
|
632
|
+

|
633
|
+
|
634
|
+
#### Membuat Postingan (Dengan Foto)
|
635
|
+
Kamu bisa menggunakan argumen `file` untuk menambahkan foto pada postingan:)
|
636
|
+
|
637
|
+
```ruby
|
638
|
+
irb(main):005:0> fb.create_timeline_user(target = "me", message= "Postingan ini di sertai dengan foto", file: "/sdcard/IMG_20240610_055515.jpg")
|
639
|
+
=> true
|
640
|
+
```
|
641
|
+
|
642
|
+
##### Hasilnya
|
643
|
+

|
644
|
+
|
645
|
+
Oh iya, kamu bisa menggunakan argumen `filter_type` untuk mengatur filter pada foto yang akan kamu upload.
|
646
|
+
|
647
|
+
```ruby
|
648
|
+
irb(main):007:0> fb.create_timeline_user(target = "me", message= "Postingan ini di sertai dengan foto", file: "/sdcard/IMG_20240610_055515.jpg", filter_type: '1')
|
649
|
+
=> true
|
650
|
+
```
|
651
|
+
|
652
|
+
Dan Ini hasil nya:
|
653
|
+
|
654
|
+

|
655
|
+
|
656
|
+
**Ada beberapa tipe filter yang bisa kamu coba, di antaranya:**
|
657
|
+
- Tanpa Filter = -1
|
658
|
+
- Hitam Putih = 1
|
659
|
+
- Retro = 2
|
660
|
+
|
661
|
+
#### Membuat Postingan (Dengan Lokasi)
|
662
|
+
Kamu bisa menggunakan argumen `location` untuk menambahkan lokasi pada postingan
|
663
|
+
|
664
|
+
```ruby
|
665
|
+
irb(main):003:0> fb.create_timeline_user(target = "me", message= "Hallo", location: "Samarinda")
|
666
|
+
=> true
|
667
|
+
```
|
668
|
+
|
669
|
+
##### Hasilnya
|
670
|
+

|
671
|
+
|
672
|
+
#### Membuat Postingan (Dengan Feeling)
|
673
|
+
Kamu bisa menggunakan argumen `feeling` untuk menambahkan feeling pada postingan
|
674
|
+
|
675
|
+
```ruby
|
676
|
+
irb(main):004:0> fb.create_timeline_user(target = "me", message= "Hallo", location: "Samarinda", feeling: "Happy")
|
677
|
+
=> true
|
678
|
+
```
|
679
|
+
|
680
|
+
##### Hasilnya
|
681
|
+

|
682
|
+
|
683
|
+
### Grup Facebook
|
684
|
+
method `create_timeline_groups` bisa di gunakan untuk membuat postingan di grup facebook, method ini akan mengembalikan `true` jika berhasil membuat postingan.\
|
685
|
+
Untuk cara penggunaan method ini sama seperti [create_timeline_user](###Akun-Pengguna)
|
686
|
+
|
687
|
+
**Contoh:**
|
688
|
+
|
689
|
+
```ruby
|
690
|
+
irb(main):006:0> fb.create_timeline_groups(target = "2127722334228965", message = "Tes", file: "/sdcard/cover.jpg", feeling: "Happy", users_with: "61562065351749")
|
691
|
+
=> true
|
692
|
+
```
|
693
|
+
|
694
|
+
##### Hasilnya
|
695
|
+

|
696
|
+
|
697
|
+
### Temporary Mail
|
698
|
+
|
699
|
+
Kamu bisa menggunakan class `TempMail` untuk membuat email sementara
|
700
|
+
|
701
|
+
#### Membuat Email
|
702
|
+
|
703
|
+
**Cara membuat email sementara:**
|
704
|
+
```ruby
|
705
|
+
irb(main):007:0> tmpmail = FbRuby::TempMail.new
|
706
|
+
=> CryptoGmail : prefix=fNtWJAbFUKQB domain=chitthi.in emai...
|
707
|
+
irb(main):008:0> tmpmail.email
|
708
|
+
=> "fNtWJAbFUKQB@chitthi.in"
|
709
|
+
```
|
710
|
+
|
711
|
+
Sangat mudah bukan?
|
712
|
+
|
713
|
+
Untuk prefix dan domain email nya bisa di ganti lho
|
714
|
+
|
715
|
+
**Cara ganti prefix dan domain email:**
|
716
|
+
```ruby
|
717
|
+
irb(main):012:0> tmpmail = FbRuby::TempMail.new(prefix = "rahmat_adha072", domain = "any.pink")
|
718
|
+
=> CryptoGmail : prefix=rahmat_adha072 domain=any.pink emai...
|
719
|
+
irb(main):013:0> tmpmail.email
|
720
|
+
=> "rahmat_adha072@any.pink"
|
721
|
+
irb(main):014:0>
|
722
|
+
```
|
723
|
+
|
724
|
+
**Daftar domain email yang di dukung:**
|
725
|
+
- mailto.plus
|
726
|
+
- fexpost.com
|
727
|
+
- fexbox.org
|
728
|
+
- mailbox.in.ua
|
729
|
+
- rover.info
|
730
|
+
- chitthi.in
|
731
|
+
- fextemp.com
|
732
|
+
- any.pink
|
733
|
+
- merepost.com
|
734
|
+
|
735
|
+
*SELAIN DARI DOMAIN DI ATAS TIDAK AKAN BISA!*
|
736
|
+
|
737
|
+
#### Mendapatkan pesan email
|
738
|
+
Untuk mendapatkan pesan email yang masuk, kamu bisa menggunakan method `get_new_message`
|
739
|
+
|
740
|
+
**Contoh:**
|
741
|
+
```ruby
|
742
|
+
irb(main):022:0> tmpmail.get_new_message(limit = 1)
|
743
|
+
=>
|
744
|
+
{"count"=>1,
|
745
|
+
"first_id"=>2294534389,
|
746
|
+
"last_id"=>2294534389,
|
747
|
+
"limit"=>1,
|
748
|
+
"mail_list"=>
|
749
|
+
[{"attachment_count"=>0,
|
750
|
+
"first_attachment_name"=>"",
|
751
|
+
"from_mail"=>"registration@facebookmail.com",
|
752
|
+
"from_name"=>"Facebook",
|
753
|
+
"is_new"=>true,
|
754
|
+
"mail_id"=>2294534389,
|
755
|
+
"subject"=>"81999 is your Facebook confirmation code",
|
756
|
+
"time"=>"2024-07-07 16:14:21"}],
|
757
|
+
"more"=>false,
|
758
|
+
"result"=>true}
|
759
|
+
```
|
760
|
+
|
761
|
+
#### Lihat Isi Email
|
762
|
+
Untuk melihat pesan lengkap dari email yang masuk, kamu bisa menggunakan method `view_mail`\
|
763
|
+
method ini memerlukan argumen `mail_id`, untuk `mail_id` bisa kamu dapatkan dari method [get_new_message](#Mendapatkan-pesan-email)
|
764
|
+
|
765
|
+
**Contoh:**
|
766
|
+
```ruby
|
767
|
+
irb(main):024:0> tmpmail.view_mail("2294534389")
|
768
|
+
=>
|
769
|
+
{"attachments"=>[],
|
770
|
+
"date"=>"Sun, 7 Jul 2024 06:14:08 -0700",
|
771
|
+
"from"=>"\"Facebook\" <registration@facebookmail.com>",
|
772
|
+
"from_is_local"=>false,
|
773
|
+
"from_mail"=>"registration@facebookmail.com",
|
774
|
+
"from_name"=>"Facebook",
|
775
|
+
"html"=>
|
776
|
+
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional //EN\"><html><head><title>Facebook</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><style nonce=\"sb7Yw3H4\">@media all and (max-width: 480px){*[class].ib_t{min-width:100% !important}*[class].ib_row{display:block !important}*[class].ib_ext{display:block !important;padding:10px 0 5px 0;vertical-align:top !important;width:100% !important}*[class].ib_img,*[class].ib_mid{vertical-align:top !important}*[class].mb_blk{display:block !important;padding-bottom:10px;width:100% !important}*[class].mb_hide{display:none !important}*[class].mb_inl{display:inline !important}*[class].d_mb_flex{display:block !important}}.d_mb_show{display:none}.d_mb_flex{display:flex}@media only screen and (max-device-width: 480px){.d_mb_hide{display:none !important}.d_mb_show{display:block !important}.d_mb_flex{display:block !important}}.mb_text h1,.mb_text h2,.mb_text h3,.mb_text h4,.mb_text h5,.mb_text h6{line-height:normal}.mb_work_text h1{font-size:18px;line-height:normal;margin-top:4px}.mb_work_text h2,.mb_work_text h3{font-size:16px;line-height:normal;margin-top:4px}.mb_work_text h4,.mb_work_text h5,.mb_work_text h6{font-size:14px;line-height:normal}.mb_work_text a{color:#1270e9}.mb_work_text p{margin-top:4px}</style></head><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr><td width=\"100%\" align=\"center\" style=\"\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" style=\"border-collapse:collapse;\"><tr><td width=\"960\" align=\"center\" style=\"\"><body style=\"max-width:480px;margin:0 auto;\" dir=\"ltr\" bgcolor=\"#ffffff\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" id=\"email_table\" style=\"border-collapse:collapse;max-width:480px;margin:0 auto;\"><tr><td id=\"email_content\" style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;background:#ffffff;\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\" colspan=\"3\"> </td></tr><tr><td height=\"1\" colspan=\"3\" style=\"line-height:1px;\"><span style=\"color:#FFFFFF;font-size:1px;opacity:0;\"> Hi, Someone tried to create a Facebook account with this email address. If it was you, please confirm your account. </span></td></tr><tr><td width=\"15\" style=\"display:block;width:15px;\"> </td><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr style=\"\"><td height=\"28\" style=\"line-height:28px;\"> </td></tr><tr><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr style=\"\"><td height=\"15\" style=\"line-height:15px;\" colspan=\"3\"> </td></tr><tr><td width=\"32\" align=\"left\" valign=\"middle\" style=\"height:32;line-height:0px;\"><a href=\"https://www.facebook.com/\" style=\"color:#1b74e4;text-decoration:none;\"><img width=\"32\" src=\"https://static.xx.fbcdn.net/rsrc.php/v3/yS/r/ZirYDPWh0YD.png\" height=\"32\" style=\"border:0;\" /></a></td><td width=\"15\" style=\"display:block;width:15px;\"> </td><td width=\"100%\" style=\"\"><a href=\"https://www.facebook.com/\" style=\"color:#1877f2;text-decoration:none;font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:19px;line-height:32px;\"></a></td></tr><tr style=\"border-bottom:solid 1px #e5e5e5;\"><td height=\"15\" style=\"line-height:15px;\" colspan=\"3\"> </td></tr></table></td></tr><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\"> </td></tr><tr><td style=\"\"><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\"> </td></tr></td></tr><tr><td style=\"\"><span class=\"mb_text\" style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:16px;line-height:21px;color:#141823;\">Hi,</span></td></tr><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\"> </td></tr><tr><td style=\"\"><span class=\"mb_text\" style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:16px;line-height:21px;color:#141823;\">Someone tried to create a Facebook account with this email address. If it was you, please confirm your account.</span></td></tr><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\"> </td></tr></table></td><td width=\"15\" style=\"display:block;width:15px;\"> </td></tr><tr><td width=\"15\" style=\"display:block;width:15px;\"> </td><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr style=\"\"><td height=\"0\" style=\"line-height:0px;\"> </td></tr><tr><td align=\"middle\" style=\"\"><a href=\"https://www.facebook.com/n/?confirmemail.php&e=rahmat_adha072%40any.pink&c=98675&cuid=AYglLuv8m8jcc_Qx0LGj-qvQUVlVdgpG4CtwrR7Z9WmL2Z_b2tYvSUDCSmRbOMz30LGiJ3P3eUbTzM0gTyjT4YBmQ-jtmIOSL1aVbVj2FLbWI05vNeJTS2Wz5OZnuu6iJtI&aref=1720358048096581&medium=email&mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2&bcode=2.1720358048.AbzarNaspfTvMqW8IAE&n_m=rahmat_adha072%40any.pink\" style=\"color:#1b74e4;text-decoration:none;\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr><td style=\"border-collapse:collapse;border-radius:6px;text-align:center;display:block;background:#1877f2;padding:8px 20px 10px 20px;\"><a href=\"https://www.facebook.com/n/?confirmemail.php&e=rahmat_adha072%40any.pink&c=98675&cuid=AYglLuv8m8jcc_Qx0LGj-qvQUVlVdgpG4CtwrR7Z9WmL2Z_b2tYvSUDCSmRbOMz30LGiJ3P3eUbTzM0gTyjT4YBmQ-jtmIOSL1aVbVj2FLbWI05vNeJTS2Wz5OZnuu6iJtI&aref=1720358048096581&medium=email&mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2&bcode=2.1720358048.AbzarNaspfTvMqW8IAE&n_m=rahmat_adha072%40any.pink\" style=\"color:#1b74e4;text-decoration:none;display:block;\"><center><font size=\"4\"><span style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;white-space:nowrap;font-weight:bold;vertical-align:middle;color:#FFFFFF;text-shadow:none;font-weight:500;font-family:Roboto-Medium,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:18px;line-height:18px;\">Confirm your account</span></font></center></a></td></tr></table></a></td></tr><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\"> </td></tr><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr></table></td><td width=\"15\" style=\"display:block;width:15px;\"> </td></tr><tr><td width=\"15\" style=\"display:block;width:15px;\"> </td><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr><td style=\"\"><tr style=\"\"><td height=\"5\" style=\"line-height:5px;\"> </td></tr></td></tr><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr><tr><td style=\"\"><span class=\"mb_text\" style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:16px;line-height:21px;color:#141823;\">You may be asked to enter this confirmation code:</span></td></tr><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr><tr><td style=\"\"><span class=\"mb_text\" style=\"font-family:Roboto-Medium,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:17px;line-height:21px;font-weight:500;color:#050505;\"><center>81999</center></span></td></tr><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr><tr><td style=\"\"><tr style=\"\"><td height=\"35\" style=\"line-height:35px;\"> </td></tr></td></tr><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr></table></td><td width=\"15\" style=\"display:block;width:15px;\"> </td></tr><tr><td width=\"15\" style=\"display:block;width:15px;\"> </td><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" align=\"left\" style=\"border-collapse:collapse;\"><tr style=\"border-top:solid 1px #e5e5e5;\"><td height=\"19\" style=\"line-height:19px;\"> </td></tr><tr><td style=\"font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:11px;color:#8A8D91;line-height:16px;font-weight:400;\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;color:#8A8D91;text-align:center;font-size:12px;font-weight:400;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;\"><tr><td align=\"center\" style=\"font-size:12px;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;color:#8A8D91;text-align:center;font-weight:400;padding-bottom:6px;\">from</td></tr><tr><td align=\"center\" style=\"font-size:12px;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;color:#8A8D91;text-align:center;font-weight:400;padding-top:6px;padding-bottom:6px;\"><img width=\"74\" alt=\"Meta\" height=\"22\" src=\"https://facebook.com/images/email/meta_logo.png\" style=\"border:0;\" /></td></tr><tr><td align=\"center\" style=\"font-size:12px;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;color:#8A8D91;text-align:center;font-weight:400;padding-top:6px;padding-bottom:6px;\">Meta Platforms, Inc., Attention: Community Support, 1 Meta Way, Menlo Park, CA 94025</td></tr><tr><td align=\"center\" style=\"font-size:12px;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;color:#8A8D91;text-align:center;font-weight:400;padding-top:6px;\">This message was sent to <a style=\"color:#1b74e4;text-decoration:none;\" href=\"mailto:rahmat_adha072@any.pink\">rahmat_adha072@any.pink</a>.<br /></td></tr></table><tr style=\"\"><td height=\"10\" style=\"line-height:10px;\"> </td></tr></td></tr></table></td><td width=\"15\" style=\"display:block;width:15px;\"> </td></tr><tr><td width=\"15\" style=\"display:block;width:15px;\"> </td><td style=\"\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse;\"><tr><td style=\"color:#8A8D91;text-align:center;font-size:12px;font-weight:400;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;\"><span class=\"mb_text\" style=\"font-family:Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;font-size:16px;line-height:21px;color:#141823;;color:#8A8D91;text-align:center;font-size:12px;font-weight:400;font-family:Roboto-Regular,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,tahoma,verdana,arial,sans-serif;\">To help keep your account secure, please don't forward this email. <a style=\"color:#1b74e4;text-decoration:none;\" href=\"https://www.facebook.com/email_forward_notice/?mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2\">Learn more</a></span></td></tr></table></td><td width=\"15\" style=\"display:block;width:15px;\"> </td></tr><tr style=\"\"><td height=\"20\" style=\"line-height:20px;\" colspan=\"3\"> </td></tr></table><span style=\"\"><img src=\"https://www.facebook.com/email_open_log_pic.php?cn=z2gGQ8aOaq&mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2\" style=\"border:0;width:1px;height:1px;\" /></span></td></tr></table></body></td></tr></table></td></tr></table></html>\n\n\n",
|
777
|
+
"is_tls"=>true,
|
778
|
+
"mail_id"=>2294534389,
|
779
|
+
"message_id"=>
|
780
|
+
"<cb26f25e-3c62-11ef-af80-c3ad352e0d89@facebookmail.com>",
|
781
|
+
"result"=>true,
|
782
|
+
"subject"=>"81999 is your Facebook confirmation code",
|
783
|
+
"text"=>
|
784
|
+
"========================================\nConfirm your account\nhttps://www.facebook.com/n/?confirmemail.php&e=rahmat_adha072%40any.pink&c=98675&cuid=AYjLEHaVqlPE2RuSkBsfuKx8aRwvb11FIDx33M6L-7K945m5rJDeM2cYx6ooVUyNFbdL7TNb9peISB-Pp0AHiKXQ4vvprAO9sNAZ4r4Yb1O9nD2YhDsakhRmqiSfsapy0Xw&aref=1720358048096581&medium=email&mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2&bcode=2.1720358048.AbzarNaspfTvMqW8IAE&n_m=rahmat_adha072%40any.pink\n\n========================================\n\nHi Ruby,\n\nHi,\n\nSomeone tried to create a Facebook account with this email address. If it was you, please confirm your account.\n\nThanks,\nThe Facebook team\n\n \n\nYou may be asked to enter this confirmation code:\n\n81999\n\n \n\n========================================\nThis message was sent to rahmat_adha072@any.pink at your request.\nMeta Platforms, Inc., Attention: Community Support, 1 Meta Way, Menlo Park, CA 94025\nTo help keep your account secure, please don't forward this email. Follow the link below to learn more.\nhttps://www.facebook.com/email_forward_notice/?mid=61ca7c8c1de73G37fd8391b1dcG61ca81257e145G3c2\n\n",
|
785
|
+
"to"=>"Ruby Programmer <rahmat_adha072@any.pink>"}
|
786
|
+
```
|
787
|
+
|
788
|
+
### Create a facebook account
|
789
|
+
Kamu bisa menggunakan class `CreateAccount` untuk membuat akun Facebook.
|
790
|
+
|
791
|
+
**CATATAN: Fitur ini masih dalam tahap percobaan, jadi kemungkinan besar fitur ini tidak akan bekerja dengan baik.**
|
792
|
+
|
793
|
+
#### Contoh:
|
794
|
+
|
795
|
+
Di bawah ini adalah program sederhana untuk membuat akun Facebook.
|
796
|
+
|
797
|
+
```ruby
|
798
|
+
require "FbRuby"
|
799
|
+
|
800
|
+
# Nama Depan
|
801
|
+
print ("[?] Nama Depan : ")
|
802
|
+
firstname = STDIN.gets.chomp
|
803
|
+
|
804
|
+
# Nama Belakang
|
805
|
+
print ("[?] Nama Belakang : ")
|
806
|
+
lastname = STDIN.gets.chomp
|
807
|
+
|
808
|
+
# Alamat email atau nomor hp
|
809
|
+
print ("[?] Email / Phone : ")
|
810
|
+
email = STDIN.gets.chomp
|
811
|
+
|
812
|
+
# Jenis kelamin
|
813
|
+
print ("[?] Gender (Male/Female): ")
|
814
|
+
gender = STDIN.gets.chomp
|
815
|
+
|
816
|
+
# Tanggal lahir
|
817
|
+
print ("[?] Tanggal Lahir (DD/MM/YYYY): ")
|
818
|
+
ultah = STDIN.gets.chomp
|
819
|
+
|
820
|
+
# Kata sandi akun facebook
|
821
|
+
print ("[?] Password : ")
|
822
|
+
password = STDIN.gets.chomp
|
823
|
+
|
824
|
+
create = FbRuby::CreateAccount.new(firstname: firstname, lastname: lastname, email: email, gender: gender, date_of_birth: ultah, password: password)
|
825
|
+
|
826
|
+
puts ("[+] Masukkan kode konfirmasi yang sudah di kirim ke \"#{email}\"")
|
827
|
+
|
828
|
+
loop do
|
829
|
+
begin
|
830
|
+
print ("[?] Kode Konfirmasi : ")
|
831
|
+
kode = STDIN.gets.chomp
|
832
|
+
create.confirm_account(kode)
|
833
|
+
puts ("[✓] Berhasil membuat akun facebook")
|
834
|
+
puts ("[+] Nama Akun : #{firstname} #{lastname}")
|
835
|
+
puts ("[+] Id akun : #{create.get_cookie_hash['c_user']}")
|
836
|
+
puts ("[+] Email/Phone: #{email}")
|
837
|
+
puts ("[+] Jenis kelamin: #{gender}")
|
838
|
+
puts ("[+] Tanggal Lahir: #{ultah}")
|
839
|
+
puts ("[+] Password : #{password}")
|
840
|
+
puts ("[+] Cookie Akun : #{create.get_cookie_str}")
|
841
|
+
puts ("[+] Token Akun : #{create.get_token}")
|
842
|
+
break
|
843
|
+
rescue FbRuby::Exceptions => err
|
844
|
+
puts ("[!] #{err}")
|
845
|
+
end
|
846
|
+
end
|
847
|
+
```
|
848
|
+
|
849
|
+
###### Hasilnya
|
850
|
+
Ini adalah akun yang di buat menggunakan library FbRuby
|
851
|
+
|
852
|
+

|
853
|
+
|
854
|
+
#### Optional Parameter
|
855
|
+
*(Untuk `CreateAccount` class)*.
|
856
|
+
|
857
|
+
- **firstname**: Nama Depan
|
858
|
+
- **lastname**: Nama Belakang
|
859
|
+
- **email**: Alamat email yang akan di gunakan untuk mendaftar akun facebook, kamu juga bisa menggunakan nomor ponsel sebagai pengganti alamat email.
|
860
|
+
- **gender**: Jenis kelamin (Male/Female)
|
861
|
+
- **date_of_birth**: Tanggal lahir, untuk format tanggal lahir nya adalah DD/MM/YYYY, Contoh: 13/01/2006
|
862
|
+
- **password**: Kata sandi yang akan di gunakan untuk membuat akun Facebook.
|
863
|
+
|
864
|
+
|
865
|
+
# Cara Install
|
866
|
+
|
867
|
+
**FbRuby** sudah tersedia di [RubyGems](https://rubygems.org/gems/FbRuby)
|
868
|
+
|
869
|
+
```console
|
870
|
+
$ gem install fbruby
|
871
|
+
```
|
872
|
+
|
873
|
+
**FbRuby** bisa di install di Ruby versi 3.0.0+
|
874
|
+
|
875
|
+
# Donate
|
876
|
+
[](https://saweria.co/rahmatadha)
|