Let's Create a Twitter Bot (Listen and Retweet)

CoderOne · Beginner ·🛠️ AI Tools & Apps ·8y ago
Written Tutorial: http://go.ipenywis.com/youtu617c4 --- Official Links---- Official Website: http://ipenywis.com Official Facebook: http://go.ipenywis.com/ipeny4907 Official Twitter: http://go.ipenywis.com/islem9a03 ---Support US--- By Becoming a Patreon: http://go.ipenywis.com/ipeny5024

What You'll Learn

This video tutorial demonstrates how to create a Twitter bot using the Twitter API and Node.js, allowing users to search for tweets with a specific hashtag and retweet them. The tutorial covers setting up a Twitter application, obtaining access token keys, and using the Twitter API to make calls and retweet tweets.

Full Transcript

this video is sponsored by design eBook design Evo is a platform that allow you to creative three custom logos from a plethora of love templates for free like more than four thousand templates are available on the platform even create your own logo for any company you like to create your project or your own small team as a start-up you have a lot of design projects you can design or you can design your own logo from scratch with a really really nice colorful logos and icons with also a nice font size and a find families all you have to do sign up it's very easy entry straight for a sign up email or password and you are actually ready to go designing your logo is as simple as dragging and dropping icons while also searching them özkan senior you can create an ice-cream logo as simple as that only the from like a lot of icons in here we drag and drop we click we choose which icon we want we give it like a text and from the text we can choose which color from like very cool color palettes you can choose the size and you can choose which funds you really like from a lot of lot of lot of funds you can choose it from a custom font also you can choose the plethora of funds how you can size your text with a custom sizes and a custom font sizes or font families you can also go ahead and just put in custom shapes for your logo like a circles to make the logo looks a little bit better and you can design it with a little bit more text samples and you know as you can see with more text templates so also you can go ahead and with the classic Sachs and Chaz choose from the font families it has a lot of things for a lot of layers you can choose backgrounds and layout from here and yeah it gives you a lot of things you can preview that you can save it to the cloud if you have like a Dropbox or something or you can download it here for free if you really need to like only low resolution files or you can choose the basic or the plus plans for downloading and max Ellucian files with a plethora of all those supported things type indesign evil all the link will be description below and you can find a plethora of things or you can just go ahead and start making your logo from scratch make sure to check it out the link in description guys all we're doing welcome to a new video tutorial from IPS today i'm gonna have we're gonna create a boss or a twitter but it's gonna be amazing thing and yeah we're gonna just enjoy things so as i've said i'm gonna create a Twitter bot I'm not gonna do just gonna the board actually gonna search for the reasons for a specific hashtag on a recent tweets it grabs that tweet and retweeted only specific user account so if you have heard ever or if you have ever heard about Twitter retweets bonds that can automatically go ahead look for tweets and which feed them into the actual accounts or the user's account in order for making it forgetting a little bit of a feedback and make him be Twitter account looks I have a lot of things backwards ugly so just doing on the work on today I'm just gonna use the Twitter API to create this application with this bar Twitter application so you're gonna need a couple of things for this so first just we need to go ahead and create a Twitter application so cream into it application gonna allow you to access the Twitter API and I'm just gonna give you like an access token keys you can use it in order to access the actual to your API to grab tweets and retrieve them on your account so with that you need to go to the App Store to ericom you go ahead and create a new application over there and you're gonna need luck you need to provide a couple of information without in order to create the application so we need to provide the name of the application I don't know we're gonna name it Twitter or like - it does - tutorial or something description tutorial tritter bots the web slides for now let's put my website over here and actually the callback URLs we don't need any of that and yes I have readin I agree to all the Twitter developer arguments and just go ahead and create the Twitter application so yeah this is all gonna need to recreate and all the information that we need to provide and you're gonna need luckily the keys actually you need to go ahead and as you can see the application settings scroll the way down a point like an application on access level keys you need to grab those keys alongside the keys in the access tokens so make sure to go ahead and access this tab over here grab the access token keys for your application I'm not gonna show your mind over here why you need to go ahead and grab those and actually you can you can go ahead and you need to use them actually for the authentication with the application whenever we are creating that so make sure to go ahead and grab the access level keys which are down here just call them it down you can find them dukey's actually the secret key and the actual key and you talk to grab the access token keys a secret key and the access token key make sure to copy them and we can talk to you about the test in a second and I'm sorry you can go ahead and actually take a look on the Twitter API right here from developer.com the platform we cannot allow you to see the out for API reference for doing the calls and how you can do it so we can use them as well in here and this participants or you to explain how actually everything is working behind the scenes on a bot so we'll just go ahead and start cleaning this part you're gonna use video pseudocode in here and have already set up project as continuous very basic node.js projects you're obviously gonna need DOJ's for that like NPM and assault a couple of like no genius or I don't know a module that gonna help us authenticate with a Twitter serve over the Twitter API so make sure if you're having one NPM install and solve the tweets so the school a multiple tweets and you need to save it other we go depends is you have to install that we're gonna use this actually for our Twitter application I'm gonna have your corruption in the project we should create two separate files compact audience and TW bottle treats both ojs this is gonna be the main clients or the main parts application code and this one is just gonna be the configuration we can put in here with our access tokens so we just go ahead and create Vance and then I just create like a common thing objects in here just gonna hold a couple of parameters video so the params is gonna be like consumer key so we go ahead and we just grab all of those in here so yeah very basic thing so make sure to go ahead and grab this replace the secret thinking with your specific key so if you do as I've said go ahead and grab him grab the consumer key consumer secret an access token an access token secret with them all of those in these fields in order to make sure that this is going to be authenticated with your current application and the final thing we need to do in here is to explore the configuration so we need to say modular but exports equals the configuration so we can access it from the Twitter bot and authenticate everything so this is all you need to do a big configuration make sure that subside to like replace everything in place with your identical information in them and everything should pretty much fine in here so here we need to first acquire the TWiT application I don't know we'll just pull it modular and here we need to initiate you between and authenticate with a service so instance or something and you can call this like an authentication so we need to authenticate and we can say let's GE so just gonna be like the instance variable and in you of twist so we need to initiate and this one takes up some parameters the configuration which is actually the configuration of the consumer key Schumer secret access token an access token key so we can go ahead and just look while advance from the main thing so just forward slash config and as you can as you know require we're gonna like return this object thing also we have just exported from there genius so I'm just gonna return this hope object and we can just pass it through into the objects in here and we can create the instance very easily so this is all we gonna do in here just creating that and it's gonna help us to authenticate with a Twitter API actually in grab or access the right credentials or right API so in order to do be able to do calls so this Twitter multi buddy is gonna help us or all of us to authenticate as I've seen here and also to do post and get requests to be able to the east Twitter API so we came to a get request and a post request so for our bot what we need is just go ahead and actually submit and find on a specific hashtag unlike I don't know an hashtag codeine or something on hashtag death or hashtag program and we can just go in and search Twitter for that we grab the recent post or they actually the recent tweets on that hashtag like the first to read the recent one we grab it and we're just gonna retweet it in our account so let's create the listener though the tweet hashtag so tweet to listen I'm gonna miss join for this might be like an object so search hashtag and object I'm gonna be like space specific object with a very specific parameters from the Twitter API so we can go back into the developer platforms and you can take a look in here this is the parameters you're going to need to provide into the objects the cue which is the query and so this is the only required parameter of only white argument to pass in and the object so the cue means what you need to show it for the app show hashtag and the geo code if you really need it so I'm gonna we're not gonna need it the language the local the resort type I'm gonna need those result type like depending on next recent on the popular tweets obviously I'm gonna just take a look or gonna use the reason because when I accessed OBE to access the recent tweets over them and actually the count how many tweets we need to grab on from the recent tweet for our case we can just grab one or two it doesn't really matter but since we only need to access one just gonna use one so make sure to go ahead and take a look on that if you really need to expend your bot but this is all we need to do for our rocks very basic thing so let's just go back luckily query the query is gonna be the actual hashtag I'm gonna just go ahead and usually Kelvin hashtag uh no because your Achilles your programmers we're just gonna put in this coding hashtag just whatever has tell you is really before your body is actually meant to do to do to use but I'm just gonna use the coding for testing purposes it's gonna use the counts just gonna be the counter much as one it's gonna be a number and the results time so this is James so this is the object that we need now we need to do a get request in order to get a little aces to it then after getting this tweet we need to like retweet it into our our application so for that we need to is our instance and as you can see there's plenty of methods and give this objects so we need to use the get method and the get method in here there's three different definitions for that method so we need to take in the second one which is house would you give it the path that you need to submit to the actual twitter api path via wanna open lunch and the parameters in here which is going to be like our search hash tag object as we have created and the last thing is gonna be like a callback holding an error and response with the live attached the other for me to our database so which holds actually our recent tweets that we asked for so here if you can take a look this is gonna be our API Doc's work on for large search form slash tweets so this is we what do you need actually to go ahead and like submit for so for most are sweet and here you need to provide the search hashtag the last thing it gonna be a callback so the first one it takes an earth the second one it takes the dealer that is gonna grab from the Twitter's API which holds pretty much the current suite that we need so this one is gonna be like an array so we need to access only one with a statuses and stuff so we need to double check first if there's any errors so if there's an error I mean it is just a constant along connotes ground latest latest tweets with hashtag okay just hash tagging here I'm just gonna put the search hashtag so search has gotten bulky you just gonna like for user-friendly thing and since there's an error just gonna need to return that means we can exit the function so we're just gonna return and pretty much what I forgot in here is this is I'm gonna need to use a function in here because what you want is all bought to one simultaneously on a very like x time duration time so we need to run all but like each hour or each day or each minute or something like that so for therefore we need to the set interval method not gonna need to provide it with a specific function so that's for I'm gonna like creates a function let me just call it a retreat function let me just drop this function so we should do the job perfect alright now so as you can see we can return and get exit now we need to double check if the DNI is actually valid we have a quality i we don't have like an in the pint or normal here and then so everybody I've got stats this is so this is an objects and also the statuses the status are pretty much the tweets but we have to grabbed from the from the Twitter's database so this holds an array and since we have only one count so we can access the first one so this is pretty obvious and what it wants in here since this won't agree so since we are double checking your money we need to check the blink and we say if the length is greater than zero then pretty much everything is actually gonna be working pretty much fine else you're gonna need to console dot log no sweets tag so there is there's no tweets already provided hashtag and we can just go ahead and get in the provided hash sign over there so very simple actually very straightforward in here like all these things need to go in here so here that everything should be much working fine and the idea that we have a grant from the database all of the Twitter's database is actually valid and we can use it pretty much fine so there are for what we need in here is to grab the latest tweets so let me just go ahead and put this equals to tweet and we can use the amount of statuses so the status is an array of holds the actual tweets so we can access the first one since we only need to grab one and this is an array so we can access the first index of bounce and here we've graphs the tweets now what we need is to each week that's into our account so to reach pretty much this form you need is a post request to a very specific URL so you can go ahead and do tweets we can go and do let's see what we have that thing school three tweets real published which we really engage with tweets it barely started as you can see post to the statuses for scratch which we and the fourth batch let me keep it to the tweet ID so the three party is under the object as web browser on the database just right now so let's just go ahead and copy that in here and we're gonna use our instance we can do a post request to the server and we can provide it with sweets and you're not gonna provide the second arguments we're just gonna use the plus sign you know T on to the ID since the ID is just gonna be like adding into the URL so we can just add it over there and we can access this from tweets don't find the STR so we need to grab the string version of the ID there's the number version of ie but using the string version is always safer than using the number so make sure to just use that you can use the number of passes don't very safe to concatenate two strings revenge' concatenate a number and string although it's just probably volatile JavaScript but still not safe at all and as you remembered it tastes it takes a cold back in you let me just call this in ESS we have an error and it's just gonna take another response responding MPs right now so we can check if what we need is counsel cannot these weeds your tweets something like that's pretty obvious and we can just go ahead and return so else or here we check if response so what we need to do is if there's a response we're just gonna console.log 60 have successfully tweeted your tweets into your accounts please detect your account so success for the which leads yeah very basic so here what I'm saying in here that we have successfully gone through that and pretty much everything is working pretty much fine so if the response is valid we're just gonna like console.log to him you have successfully treated and we have actually irritated everything or we have retweeted II the two reasons of the reasons we have grabbed to our accounts so this is the very basic thing that we have done so this is all we have done is very basically only grabbing or grabbing a tweet from the database then we're tweeting it into our account how do I actually between into our accounts since we here we are authenticating it with our application that we have created right now since the configuration in here as I told you need to provide it with the with your current access keys now we need the plastic is we need to pull our function and we can use the set interval in here so this interval what it does it takes a function and since the function is like retweet so we can retweet something we can we can with this same interval method what it does you can run this function a couple of times or each time or each each and amount of time so as you can see this millisecond well psychic numbers if I put thousand here means run this function each second so it's just gonna bring this function each second what we want is to run this function each hour or something and since in our houses 3600 seconds and since the seconds has a thousand milliseconds so we need just to a third 3,600 times a thousand that gonna give us an hour in a mall second so just a very nice mathematical thing and also we need to retweet it as soon as the application starts so this won't 1 if we start the application right now this won't run unless and an hour is gonna be allotted from this time or from the start time of the application so we need to run this and wait another hour so just first so yeah as you can see here very basic things so this is all you need to do actually for grabbing a tweet let me just go ahead and call so long via Twitter than grab from from the actual database in order to make or double check that everything is pretty much working fine so we can just do it all so long in here and we can call so long diera all the actual tweets as we have grabbed a way to make sure that's everything so much working with thee but the obligation now let me just go ahead and open up the terminal ancestors in node.js application we can just go ahead and run this and actually to make this a little bit more like an advanced think we can go into the script and add the new scripts as you can see here I've already done this so you can just type in run Twitter bot and do a script and put a note like dance /to impart to it but genius to run this to run this pretty much this javascript file using the node compiler or the no interpreter pretty much and you can use now what we need to do is just use npm run and twitter but now if you're on IBM run it will underscore but suppress manager we're for application to start and wait a second and here we go as can see success check your account for the retweet and we have grant and we have Luke shouldn't be treated if can just go ahead into the console log in here and we check the the actual the other that we have retreated as the tweeters has a text of a call cell collection of one-page verbal guides for doing data science with all and Yeti area are plenty of all the things all the paths different things but this is what a tweets know if you just go ahead and check our account so giving into our account in here the Twitter and go into the profile settings profile this is my actual Twitter profile actually and if we take a look in here as you can see the same text appears in here and as I've said you retweeted this and I didn't lecture there between ads but the bonds did which we pass in twelve into our tapped I'm lining here with our profile so as you can see here this is what we have retreated in here if you can take a look in here with the text Coulson collection of one-page sorbonne course our collection of one pieces or what's the same thing and it tasked us retreated that for us successfully with no problem so this was a very basic thing for you to do and it is gonna run every single hour you can change that you come in a plane or however you want and from now on you can just go ahead and grab this application or wrap this pot and make it your own and just create a very advanced then very advanced algorithms that you know like listen for me all the tweets and retweet them on your application and your specific profile pretty much and yeah do a lot of things with this parts in this there's actually only do you think you can create your custom tweets you can list up for tweets you can see the trending you can count them you can get these statistics you can you can do plenty of things from the Twitter API and you can just play with it a little bit more and also taken close closer look on the developer platform of the Twitter API it just gonna like to make you way much better with this kind of things so I think that's watching that was a very basic thing with the Twitter API cause we have done a very very basically to make sure to go and check that out it's gonna be like an ounce on github so if you really want to take closer look and this so yeah that's actually pretty basic thing guys we're gonna create more boss with Facebook and slack and Link it in and all of the different social media things so stay tuned for that and hopefully you enjoyed the video and I will catch you all in the next video
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from CoderOne · CoderOne · 52 of 60

1 Laravel CMS | N-01 | Getting Started and Environment Set Up
Laravel CMS | N-01 | Getting Started and Environment Set Up
CoderOne
2 Laravel CMS | N-02 | Routes, Controllers and Views
Laravel CMS | N-02 | Routes, Controllers and Views
CoderOne
3 Laravel CMS | N-03 | Dealing With Assets and Page Layouts
Laravel CMS | N-03 | Dealing With Assets and Page Layouts
CoderOne
4 Laravel CMS | N-04 | Migration, Models and Adding Categories
Laravel CMS | N-04 | Migration, Models and Adding Categories
CoderOne
5 Laravel CMS | N-05 | Showing Added Categories, and Session Messages
Laravel CMS | N-05 | Showing Added Categories, and Session Messages
CoderOne
6 Laravel CMS | N-06 | Edit\Remove Categories using AJAX and Popups
Laravel CMS | N-06 | Edit\Remove Categories using AJAX and Popups
CoderOne
7 Laravel CMS | N-07 | Add New Post
Laravel CMS | N-07 | Add New Post
CoderOne
8 Laravel CMS | N-08 | Creating a Basic Laravel Blog
Laravel CMS | N-08 | Creating a Basic Laravel Blog
CoderOne
9 HTML5 Canvas For Beginners | Getting Started | #01 with Webpack
HTML5 Canvas For Beginners | Getting Started | #01 with Webpack
CoderOne
10 HTML5 Canvas For Beginners | Drawing Basic Shapes | 02
HTML5 Canvas For Beginners | Drawing Basic Shapes | 02
CoderOne
11 HTML5 Canvas | Drawing Text With Circles | Part 01
HTML5 Canvas | Drawing Text With Circles | Part 01
CoderOne
12 HTML5 Canvas | Text Animation and Circle Collision | Part 02
HTML5 Canvas | Text Animation and Circle Collision | Part 02
CoderOne
13 Complete Guide To Web Development In 2018
Complete Guide To Web Development In 2018
CoderOne
14 AJAX & JSON Explained | Examples
AJAX & JSON Explained | Examples
CoderOne
15 Visual Studio Code Web Development Setup and Extensions
Visual Studio Code Web Development Setup and Extensions
CoderOne
16 Electron Build Desktop Apps HTML/CSS/JS - Getting Started 01
Electron Build Desktop Apps HTML/CSS/JS - Getting Started 01
CoderOne
17 Electron Build Desktop Apps HTML/CSS/JS | Creating Windows and Processes 02
Electron Build Desktop Apps HTML/CSS/JS | Creating Windows and Processes 02
CoderOne
18 Electron Build Desktop Apps HTML\CSS\JS | Dialog, Sessions and Cookies 03
Electron Build Desktop Apps HTML\CSS\JS | Dialog, Sessions and Cookies 03
CoderOne
19 Electron Build Desktop Apps HTML\CSS\JS | Custom App Menu & Context Menu 04
Electron Build Desktop Apps HTML\CSS\JS | Custom App Menu & Context Menu 04
CoderOne
20 Electron Build Desktop Apps HTML\CSS\JS | Package, Build and Deploy your App 05
Electron Build Desktop Apps HTML\CSS\JS | Package, Build and Deploy your App 05
CoderOne
21 Node.js Brief Beginners Introduction #01
Node.js Brief Beginners Introduction #01
CoderOne
22 Node.js How Modules Works & NPM #02
Node.js How Modules Works & NPM #02
CoderOne
23 Node.js Working With Events and Event Emitter #03
Node.js Working With Events and Event Emitter #03
CoderOne
24 Node.js File System (Read and Write) FS 04
Node.js File System (Read and Write) FS 04
CoderOne
25 Node.js Create a Basic Server Using Express 05
Node.js Create a Basic Server Using Express 05
CoderOne
26 Json Web Token Authentication JWT Explained Securing API
Json Web Token Authentication JWT Explained Securing API
CoderOne
27 CSS Flex Box Design | Practical Examples |
CSS Flex Box Design | Practical Examples |
CoderOne
28 API How It Works With Practical Examples
API How It Works With Practical Examples
CoderOne
29 MongoDB Getting Started 01
MongoDB Getting Started 01
CoderOne
30 MongoDB Working with APIs and Practical Examples
MongoDB Working with APIs and Practical Examples
CoderOne
31 Create a Command Line Interface (CLI) Using Node JS #01
Create a Command Line Interface (CLI) Using Node JS #01
CoderOne
32 Create a Command Line Interface (CLI) Using Node JS 02
Create a Command Line Interface (CLI) Using Node JS 02
CoderOne
33 Build React Apps | Introduction And Getting Started #01
Build React Apps | Introduction And Getting Started #01
CoderOne
34 Build React Apps | Working With Components And Multiple Rendering #02
Build React Apps | Working With Components And Multiple Rendering #02
CoderOne
35 Build React Apps | App State Management | Practical Examples #03
Build React Apps | App State Management | Practical Examples #03
CoderOne
36 Build React Apps | Getting Started With Flux (Intro) #04
Build React Apps | Getting Started With Flux (Intro) #04
CoderOne
37 Build React Apps | Create a Clock Timer Using React 05
Build React Apps | Create a Clock Timer Using React 05
CoderOne
38 Build React Apps | Create a Clock Timer Using React 05 | PART2|
Build React Apps | Create a Clock Timer Using React 05 | PART2|
CoderOne
39 CSS Preprocessors Getting Started | SASS and LESS | Practical Examples
CSS Preprocessors Getting Started | SASS and LESS | Practical Examples
CoderOne
40 Regex Introduction | Learn Regular Expressions 01
Regex Introduction | Learn Regular Expressions 01
CoderOne
41 PHP VS Node.js Which is Best For Web Development
PHP VS Node.js Which is Best For Web Development
CoderOne
42 Drag and Drop Using Native Javascript 01
Drag and Drop Using Native Javascript 01
CoderOne
43 Drag And Drop Using Native Javascript 02
Drag And Drop Using Native Javascript 02
CoderOne
44 Master Git (Version Control) in One Video From Scratch
Master Git (Version Control) in One Video From Scratch
CoderOne
45 Let's Learn The New Javascript ES6 Class Syntax
Let's Learn The New Javascript ES6 Class Syntax
CoderOne
46 Let's Create A BlockChain On Node.js
Let's Create A BlockChain On Node.js
CoderOne
47 Best Online Code Editors For Web Developers
Best Online Code Editors For Web Developers
CoderOne
48 Let's Create a Modern Login Form on React #01
Let's Create a Modern Login Form on React #01
CoderOne
49 Let's Create a Modern Login Form on React #02
Let's Create a Modern Login Form on React #02
CoderOne
50 Laravel CMS | N-09 | Admin Registration
Laravel CMS | N-09 | Admin Registration
CoderOne
51 Laravel CMS | N-10 | Login and Authentication
Laravel CMS | N-10 | Login and Authentication
CoderOne
Let's Create a Twitter Bot (Listen and Retweet)
Let's Create a Twitter Bot (Listen and Retweet)
CoderOne
53 Rapid Webpage Creation With Emmet (HTML & CSS)
Rapid Webpage Creation With Emmet (HTML & CSS)
CoderOne
54 Create Popups and Modals Using Native Javascript, HTML and CSS
Create Popups and Modals Using Native Javascript, HTML and CSS
CoderOne
55 Promises and Callbacks on Javascript With Practical Examples
Promises and Callbacks on Javascript With Practical Examples
CoderOne
56 Create Collapses using Native Javascript, HTML and CSS
Create Collapses using Native Javascript, HTML and CSS
CoderOne
57 Let's Learn Typescript (Javascript Devs) | Getting Started 01
Let's Learn Typescript (Javascript Devs) | Getting Started 01
CoderOne
58 Let's Learn Typescript | Interfaces and Generic Types (The Typing System) 02
Let's Learn Typescript | Interfaces and Generic Types (The Typing System) 02
CoderOne
59 Let's Learn Typescript | Work With Classes, Modules and Enums 03
Let's Learn Typescript | Work With Classes, Modules and Enums 03
CoderOne
60 Let's Learn Typescript | React and Webpack With TS 04
Let's Learn Typescript | React and Webpack With TS 04
CoderOne

This video tutorial teaches users how to create a Twitter bot using the Twitter API and Node.js, allowing them to search for tweets with a specific hashtag and retweet them. The tutorial covers setting up a Twitter application, obtaining access token keys, and using the Twitter API to make calls and retweet tweets. By following this tutorial, users can learn how to automate social media tasks and create more complex bots for other platforms.

Key Takeaways
  1. Create a Twitter application in the Twitter Developer Dashboard
  2. Obtain access token keys for the Twitter application
  3. Use the Twitter API to search for tweets with a specific hashtag
  4. Create a listener to search for tweets on a specific hashtag
  5. Use the get method to retrieve a tweet and then retweet it
  6. Use the set interval method to run the function at regular intervals
  7. Run the Twitter bot and start the application
💡 The Twitter API can be used to create a Twitter bot that automates social media tasks, such as searching for tweets with a specific hashtag and retweeting them.

Related AI Lessons

Up next
I Asked ChatGPT to Apply to 500 Jobs (8 Interviews in 48 Hours)
Sabrina Ramonov 🍄
Watch →