15.8: Heroku Deployment - Twitter Bot Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ส.ค. 2024

ความคิดเห็น • 149

  • @adriantran8679
    @adriantran8679 5 ปีที่แล้ว +17

    Amazing tutorials, even three years after initial recording. Thank you for incredible free content :).

  • @maz4962
    @maz4962 5 ปีที่แล้ว +8

    Exactly what I was looking for, even after 2 years this video is the only one that actually solved my problem!

  • @malennachbruchzahlen
    @malennachbruchzahlen 8 ปีที่แล้ว +32

    Just wanted to leave a big THANK YOU, this series helped me alot setting up my first twitter bot (for a daily tweet with lines from my fav rapper) ... will watch your javascript videos, too.

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว

      I'm so glad to hear, thank you!!

    • @malennachbruchzahlen
      @malennachbruchzahlen 8 ปีที่แล้ว +1

      I had the same problem and switched from Heroku to AmazonEC2 now (see the next video), it works with (s)FTP and keeps the bot up with "Forever" ... hopefully this one will work

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว

      apologies, did you make sure it was a worker process? Some more here: shiffman.github.io/A2Z-F15/week9/heroku.html Heroku is kind of a pain so I might look for another solution.

    • @christianramos1252
      @christianramos1252 7 ปีที่แล้ว

      Hey Yоutube ! *GET Unlimitеd Followers Permanent to yyour Twitter Account* now => twitter.com/dbe5e861f7695cacc/status/789420521322524672 15 8 Heroku Deployment Twitter Bot Tutorial

    • @anthongbrown2100
      @anthongbrown2100 7 ปีที่แล้ว

      I use tweetattackspro details plus.google.com/u/0/115747088185550025111/posts/15Ao2ZvyVNX

  • @wcloister
    @wcloister ปีที่แล้ว +1

    If you are creating the Procfile file with Notepad++ (or a similar editor) , make sure to Encode it as UTF-8 as opposed to UTF-8 including BOM (or any similar option) since the BOM options add extra characters to the beginning of the file and cause Heroku to ignore the Procfile file

  • @hossamsamir5365
    @hossamsamir5365 7 ปีที่แล้ว +11

    just a little note for anyone who got the "worker" does not appear as the video
    the 'p' char in Procfile must be in capital case only to be read by the server.

    • @Sandfeld
      @Sandfeld 6 ปีที่แล้ว +1

      Niiiiice! Thank you. If you by mistake pushed the "procfile", just do a push without the procfile, and then re-add it named "Procfile" and push that

    • @harshityadav0
      @harshityadav0 5 ปีที่แล้ว

      Thanks man.
      You saved my valuable time that I was going to spend on Google

  • @TamilSelvan-xf6ut
    @TamilSelvan-xf6ut 7 ปีที่แล้ว +1

    couldn't deploy my app into heroku but i am still pumped up after this tutorial thanks codingtrain for your awesome videos
    never lose your enthusiasm and keep uploading more videos

  • @sebastiansoto4168
    @sebastiansoto4168 5 ปีที่แล้ว +1

    I love your videos and personality, such a genuine and fun person. You are the best!

  • @sherhy3689
    @sherhy3689 6 ปีที่แล้ว +1

    You teach so tenderly, and I need to learn that.
    Great job, daniel and team!

  • @mattotoole4327
    @mattotoole4327 7 ปีที่แล้ว

    That. is. an. excellent. job. Knew all about Heroku and had come across a Procfile being mentioned in several tutorials, but that is so simple, it's brilliant.

  • @urimsuh
    @urimsuh 4 ปีที่แล้ว +2

    This dude! He is amazing! He teaches in a fun and understandable way. Well done!

  • @tinloncarmatusan7102
    @tinloncarmatusan7102 5 ปีที่แล้ว +2

    I was trying to upload some bot to hosting for the last 20 hours with 0 results. Then I watched this video and an hour later it was working perfectly. Thank you :DDDDDDDDD

    • @Lolo5
      @Lolo5 4 ปีที่แล้ว

      what kind of bot? :)

  • @Ulas320
    @Ulas320 2 ปีที่แล้ว

    Thanks for your help! Even after six years, it still works. Now my laptop can go to sleep after a while haha, you are the best!

  • @alisheriskakov9913
    @alisheriskakov9913 7 ปีที่แล้ว +8

    Daniel, thank you so much for your video tutorials and have a happy new year!
    Btw, I like your installing dance :)

  • @coffeecup918
    @coffeecup918 4 ปีที่แล้ว

    this one video solved a problem that I've been struggling with for a week. You just helped someone who's been doing JS for about two weeks deploy his first app

  • @maryliu7224
    @maryliu7224 7 ปีที่แล้ว +1

    Thank you so much for making this series! Your teaching style is fun and easy to follow--just made my first twitter bot btw :D

  • @ahmedsyed671
    @ahmedsyed671 3 ปีที่แล้ว

    Dude i was struggling since 3 weeks to deploy my discord bot on live server so that it works 24/7, and u solve that problem in just 15min ur a living legend !!

  • @omarzalama
    @omarzalama 7 ปีที่แล้ว +1

    Thanks, man! You're very motivating and enthusiastic about what you do.

  • @squuibi
    @squuibi 7 ปีที่แล้ว +7

    I pushed my Discord bot to Heroku from this tutorial, thank you.

    • @TheCodingTrain
      @TheCodingTrain  7 ปีที่แล้ว +1

      yay, congrats!

    • @rexcrafter1518
      @rexcrafter1518 7 ปีที่แล้ว +1

      I'm trying to do this too, but i get the same error over and over again :
      *** Please tell me who you are.Run git config --global user.email "you@example.com"
      git config --global user.name "Your Name"to set your account's default identity.
      Omit --global to set the identity only in this repository.
      Do i have to Login in git or log in in heroku again?
      Hope, that anyone can help me
      Greatings
      ~Rex

    • @rexcrafter1518
      @rexcrafter1518 7 ปีที่แล้ว +1

      okay, I'm really sorry for being so stupid..
      I have just created an github account and settet the global Settings. Now it works.
      Have a great day
      ~Rex

    • @shrangisoni8758
      @shrangisoni8758 6 ปีที่แล้ว +1

      Thats wht i thought after learning this.. "I am going to build a discord bot"

  • @diogomnzs8353
    @diogomnzs8353 ปีที่แล้ว

    Good old times of free heroku deployment

  • @RAYl71
    @RAYl71 5 ปีที่แล้ว +1

    i knew heroku but not so well , thanks , it helped me to run chat bot

  • @Domirot
    @Domirot 6 ปีที่แล้ว +2

    MAN! I love your energy!!
    , and really BIG THANKS for all of this , i reallly learned alott ! THANK YOU!

  • @edwinparker3908
    @edwinparker3908 6 ปีที่แล้ว +2

    Woo hoo hoo It's working man. You are awesome Mr Shiffman :)

  • @karthikd490
    @karthikd490 6 ปีที่แล้ว +2

    You are an excellent teacher, Thank you for making a positive impact in my life :)

  • @sixtallballer
    @sixtallballer 4 ปีที่แล้ว +1

    You are a legend :) thank you so much!

  • @Terrantulla
    @Terrantulla 6 ปีที่แล้ว

    Best youtube coding channel, bar none! Thanks!!

  • @el10leo
    @el10leo 7 ปีที่แล้ว

    Hi Daniel, you're awesome. Thanks for your awesome tutorials. You're the best!

  • @CraigSchubert
    @CraigSchubert 5 ปีที่แล้ว

    I'm loving your videos! Just found this one after watching the git ones... could you maybe add links to the git series in the description?

  • @jamesmorrow9290
    @jamesmorrow9290 8 ปีที่แล้ว +2

    Learned a lot. Fantastic series

  • @DarshanJainStud
    @DarshanJainStud 4 ปีที่แล้ว

    Thank you for the awesome tutorials. Loved it totally.

  • @notmysql
    @notmysql 4 ปีที่แล้ว

    less than 1K likes? this deserves more!

  • @KonnasTrashHeap
    @KonnasTrashHeap 6 ปีที่แล้ว +1

    You remind me of Adam Savage :D Great video, subscribed.

  • @jvkiet
    @jvkiet 6 ปีที่แล้ว

    For any users having trouble saving the Procfile, try saving the file as *all type rather than .txt.

    • @arnabsom3251
      @arnabsom3251 6 ปีที่แล้ว

      wow !!!! are u god ??

    • @jvkiet
      @jvkiet 6 ปีที่แล้ว

      no just a disciple ;)

  • @mandy1339
    @mandy1339 7 ปีที่แล้ว +3

    Hello Dan, What happened to the video 15.7? Please get it back. Thanks for all your awesome work @Thecodingraing

  • @KICKASS4272
    @KICKASS4272 6 ปีที่แล้ว

    Awesome tutorial, aged well because the setup was almost identical 2 years down the line.

  • @PappenbergerApps
    @PappenbergerApps 4 ปีที่แล้ว

    Thank you so much for creating this tutorial!

  • @network9961
    @network9961 5 ปีที่แล้ว +4

    can i run something that uses "processing-java"?

  • @LGallas
    @LGallas 4 ปีที่แล้ว

    Bro u save me, i was just breaking my head with that web error requesting a port, that worker thing saved me

  • @raghavherugu6934
    @raghavherugu6934 4 ปีที่แล้ว

    Thank you for this awesome tutorial.

  • @faridvarghaee9716
    @faridvarghaee9716 4 ปีที่แล้ว

    It was a great tutorial. Thanks

  • @dominicrann6699
    @dominicrann6699 5 ปีที่แล้ว +1

    Will you be able to make the deployment videos for the node.js api example

  • @ishantanupatil
    @ishantanupatil 6 ปีที่แล้ว

    Your series help me always

  • @KHANSOFFICIAL
    @KHANSOFFICIAL 4 ปีที่แล้ว

    You have my respect ❤️👍

  • @Souljacker7
    @Souljacker7 7 ปีที่แล้ว

    Thanks for this, man. My first Node.js app :)

  • @elmfilmsinc
    @elmfilmsinc 7 ปีที่แล้ว

    Thank you so much for all these tutorials. Not sure if this is a silly question or not but can all the bots you demonstrate (follow bot, tweet bot, replier bot, etc) be rolled into the same bot.js when written and deployed or do they have to be done separately? I notice you delete the code and write over it when moving onto explaining how to create the next bot.

  • @nicetomeetugaming7024
    @nicetomeetugaming7024 2 ปีที่แล้ว

    Thanks a lot, this helped me!

  • @geoffwagner4935
    @geoffwagner4935 ปีที่แล้ว

    Wow,that amazing. i love this cloud stuff. i've always wanted to do a bot, these are nice ones. it charges now, but it still let me put it in and run it, then had time to see it and turn it off with out getting charged. only $7 month, that's amazing and exciting. really having a lot of fun with this and the npm's xD free to try it quick it looks like xD

  • @aarshingpt15
    @aarshingpt15 4 ปีที่แล้ว

    Professor from The money heist teaches here!!!!

  • @morenikejibello5519
    @morenikejibello5519 3 ปีที่แล้ว

    You're a life saver!!

  • @jgunther3398
    @jgunther3398 7 ปีที่แล้ว

    good series, but I suggest filling time when you have to do it with something more useful and interesting than mock dancing

  • @Weisaw
    @Weisaw 4 ปีที่แล้ว

    good vibes

  • @prenom_nom
    @prenom_nom 4 ปีที่แล้ว

    Thank you so much!

  • @Cutiepie-ky9oh
    @Cutiepie-ky9oh 5 ปีที่แล้ว +1

    How come he managed to do everything successfully without setting up any buildpack??

  • @joaquintorressaenz7367
    @joaquintorressaenz7367 7 ปีที่แล้ว +3

    Hi! :3 What happened to the video 15.7? Would u mind bringing it back :3 ty

  • @nolachronicle86
    @nolachronicle86 6 ปีที่แล้ว +1

    once I had everything uploaded and the Procfile correct and I ran it, the console on Heroku says it cant find the Twit module. any help?

  • @ipewuazo
    @ipewuazo 7 ปีที่แล้ว

    daniel i just wanna say thank you!

  • @hellonehha
    @hellonehha 7 ปีที่แล้ว +3

    Hey, I have added the Procfile but still I am not getting the worker option at my heroku dashboard. Any particular reason?

    • @christianwaldmann7256
      @christianwaldmann7256 7 ปีที่แล้ว +1

      Same thing has happened to me. I have no worker version after adding the Procfile file

    • @FireMario211
      @FireMario211 7 ปีที่แล้ว

      have you typed
      git add .
      git commit -m "adding the proc file"
      git push heroku master

    • @jaredmendoza1575
      @jaredmendoza1575 6 ปีที่แล้ว

      i have this problem , but i have to do the push to the master but the worker options isnt there :(

    • @PascalGuyon
      @PascalGuyon 6 ปีที่แล้ว +1

      can't have the worker appear either despite writing Profile with a P

  • @IndianMakeupStars
    @IndianMakeupStars 6 ปีที่แล้ว

    sir how to change herokudns.com to herokuapp.com in custom domain

  • @jhawkdx4000
    @jhawkdx4000 4 ปีที่แล้ว

    My dynos aren't appearing, even though I have a Procfile worker. Is it because I the checkout size is too big?

  • @xLoxLoLex
    @xLoxLoLex 6 ปีที่แล้ว +1

    can you upload a database to heroku?

  • @asakuratetuo873
    @asakuratetuo873 7 ปีที่แล้ว +2

    U fucking rock men !!!
    Where do I pay?

  • @kokaza118
    @kokaza118 7 ปีที่แล้ว

    Thanks for the awesome video

  • @fredlack13
    @fredlack13 7 ปีที่แล้ว

    I want to display the results of the get request and put the tweets up on a web page. How do i go about? Would I need Angular JS or can I just display the data on html using simple jquery? Also, brilliant series!

  • @nenad9536
    @nenad9536 7 ปีที่แล้ว

    Nice. Thank you!

  • @ergonautilus
    @ergonautilus 4 ปีที่แล้ว

    How do I hide my Twitter keys from GitHub but not Heroku?

  • @WomaniyaWhoGardens
    @WomaniyaWhoGardens 5 ปีที่แล้ว

    i have two app one is for staging and one for production purpose ,Both have different config vars. Staging config var connect to test salesforce account and Production connect to login.salesforce account .When i click on promote to production button,all changes in staging does go to production but also my config var from stagging goes to production and get connect to the test salesforce account.Can you guys figure out why this is happening. Even is their something i am missing

  • @JR-lo2ei
    @JR-lo2ei 2 ปีที่แล้ว

    Thanks!

  • @shubhamvispute3653
    @shubhamvispute3653 2 ปีที่แล้ว

    Hi sir please tell ous is heroku is free , or it may be charged after adding card information

  • @AlexPena-mm9me
    @AlexPena-mm9me 8 ปีที่แล้ว

    For a Facebook messenger bot, must the process also be worker, or web? With your videos i've managed to get a really good understanding of this sample bot I made from copying some code from some place on medium. But I noticed that for my messenger bot, it has web as its process in the procfile. I assumed it would need to be worker because it's just a bunch of code behind the scenes that generates responses as well as takes in messages, but I assume the reason it's web is because it does function on a web interface live?
    Asking just so I can know, no other actual reason. I could probably live life not knowing but i'd like to figure it out. Loving these videos, again.

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว +1

      +Alex Peña If it is hosting web pages, i.e. has an interface that users interact via the browser, then it will need to be a web process. It could also have a worker process associated with it too (I think), but it really depends on how it is written. Would love to see a link to the example code, maybe I'll try to do a video on facebook messenger bots?

    • @AlexPena-mm9me
      @AlexPena-mm9me 8 ปีที่แล้ว

      +Daniel Shiffman I'm by no means necessarily experienced in making bots. It's an entire learning experience for me still, but here's the code to my bot.
      github.com/MrCodeCollector/Harvey-Bot
      For messenger bots you need a Facebook page for the bot to generate keys and what not for the API. You should ABSOLUTELY do a video on this. I already understand a lot of the code simply by watching this twit bot series. You're explanations are literally the best.

  • @WiltedOfficials
    @WiltedOfficials 5 ปีที่แล้ว

    I need help, I have my own discord bot made with java. how would I host that for free

  • @sheddablackburdendablackbu4418
    @sheddablackburdendablackbu4418 6 ปีที่แล้ว

    Hello, I was following this video until i got to "git add ." and got the following permission errors:
    error: open (AppData/local/comms/unistoreDB/USS.jtx) Permission denied
    error: unable to index AppData/local/unistore/USS.jtx
    fatal: adding file failed. There no tutorial that explicitly address this problem. What does one do if one get an error message that the "git add ." point? I would appreciate help. Thanks.

  • @davewebb9464
    @davewebb9464 8 ปีที่แล้ว

    Hey, thanks for this. Nice moves! Back a while you showed us how to use Node to call a Processing app which produced an image you could then post to twitter with a bot. Can this be deployed to Heroku in this way? or was there some other obstacle (because processing assumes/needs an actual display to work)?

    • @davewebb9464
      @davewebb9464 8 ปีที่แล้ว

      +Dave Webb D'oh, should have waited for the next video on EC2 deployment. The answer is right there.

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว

      +Dave Webb hah, no worries!

  • @frederickgivens9261
    @frederickgivens9261 2 ปีที่แล้ว

    what if you DO have errors, though

  • @achmadarifmunaji3320
    @achmadarifmunaji3320 3 ปีที่แล้ว

    How to install aptfile on heroku?

  • @officialtoxins
    @officialtoxins 6 ปีที่แล้ว

    can you help it says in herokus console that twit does not exist

  • @beatrixmiguelez9370
    @beatrixmiguelez9370 7 ปีที่แล้ว

    I'm getting an error from my heroku bash, when trying to post an image using './processing-java'
    "Caused by: java.awt.HeadlessException:
    No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at sun.awt.HeadlessToolkit.getMenuShortcutKeyMask(HeadlessToolkit.java:236)
    at processing.app.ui.Toolkit.(Toolkit.java:93)
    ... 5 more"
    was hoping you could help point me in the right direction to understand a way around it?
    I tried installing the java buildpack on heroku but then it said it was incompatible so i nixxed that.. Any help would be appreciated!! TY

  • @Gingerninja800
    @Gingerninja800 7 ปีที่แล้ว

    When I only have the worker dyno it gives me an error because theres no web dynos
    help :O

  • @ergonautilus
    @ergonautilus 4 ปีที่แล้ว

    Heroku restarts apps every 24 hours. Can that be prevented?

  • @eotikurac
    @eotikurac 8 ปีที่แล้ว

    is there a way for the merger sponge processing sketch to run on heroku and tweet an image once an hour? i can do it on my own pc, no problem, but to have it run on heroku i would need to have processing installed over there, am i wrong?

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว

      +BaconKwagga i have not been able to get node + java to run on heroku, try ec2 like in the next video (i know it's a pain and confusing!). (or digital ocean or cloud9 maybe?)

  • @skyhawkingsplays9364
    @skyhawkingsplays9364 7 ปีที่แล้ว

    Its says mis-cased Procfile but Procfile is correct

  • @sheddablackburden9018
    @sheddablackburden9018 6 ปีที่แล้ว

    Good Videos. I need help with step by step solution to solving "git add ." permission errors:
    error: open (AppData/local/comms/unistoreDB/USS.jtx) Permission denied
    error: unable to index AppData/local/unistore/USS.jtx
    fatal: adding file failed. There no tutorial that explicitly address this problem. What does one do if one get an error message that the "git add ." point? I would appreciate help. Thanks

  • @kimeiga
    @kimeiga 7 ปีที่แล้ว

    I have an image bot that is trying to post images of bokeh generated with processing.(@bokehrobot)
    However, when I followed these steps exactly, it posts the same image every 20 seconds. Is this because there needs to be a screen simulated for processing to render an image correctly? Should I use a different service than Heroku? Thanks!

  • @pietro8648
    @pietro8648 5 ปีที่แล้ว

    What if I want it to run only once per day

    • @EisenGlas
      @EisenGlas 5 ปีที่แล้ว

      change the interval with simple math

  • @AdityaFingerstyle
    @AdityaFingerstyle 7 ปีที่แล้ว

    I can't seem to get into "worker" mode!
    I created the procfile as you showed and followed the steps. Everything works fine but the "worker" mode doesn't seem to appear. What file type should I save as?
    I am on windows if that helps

    • @_cajanegra
      @_cajanegra 7 ปีที่แล้ว

      you have to save the Procfile with no extension on it. that's what i did, and it worked for me

    • @AdityaFingerstyle
      @AdityaFingerstyle 7 ปีที่แล้ว +1

      Pablo Javier I did the same. But didn't work!
      Then I created three Procfiles diff files with .Js, .Json, and no extension.
      then it worked

  • @vctris
    @vctris 7 ปีที่แล้ว

    is there a way to render the output of the p5js script on sampleurl.herokuapp.com? I'd like to display tweets on a webpage.

  •  7 ปีที่แล้ว

    please!! can you make a tuto for your "installing dance"?

  • @giacastello
    @giacastello 7 ปีที่แล้ว

    You are the BEST

  • @medjed2511
    @medjed2511 7 ปีที่แล้ว

    I wanna upload a bat file what do I do then?

  • @AnandBaburajan
    @AnandBaburajan 5 ปีที่แล้ว

    Thank youuuuuuuuuuu.

  • @_cajanegra
    @_cajanegra 7 ปีที่แล้ว

    someone had fixed the SIGTERM / error 143 issue? i dont want to put my credit card on amazon yet, but it seems i'll have to, if i want my bots working. ps thanks Dan!

  • @kim15742
    @kim15742 6 ปีที่แล้ว

    Ther screen is very blurry

  • @iFindThisFunny
    @iFindThisFunny 6 ปีที่แล้ว

    Is Heroku free? And will it automatically end the process if I only have my bot set to tweet once a day?

    • @germaincasse
      @germaincasse 5 ปีที่แล้ว

      Did you figure out the answer ? I just started my bot today and i'm asking myself the same questions ^^

  • @InspirationHeaven
    @InspirationHeaven 8 ปีที่แล้ว

    Hello Shiffman, i followed all your videos but i need to know about Direct messages.. i am able to send direct messages and also receive response from twitter bot but stuck in endless loop and twitter api again respond back with same request. Can you please guide me how to cater this?

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว +1

      +Zaka Ul Haque you've got to make sure it's a tweet sent to you but not by you, something like:
      function tweetEvent(tweet) {
      var reply_to = tweet.in_reply_to_screen_name;
      // Check to see if this was, in fact, a reply to you
      if (reply_to === 'yourusername') {
      // Get the username and content of the tweet
      var name = tweet.user.screen_name;
      var txt = tweet.text;
      // Tweet back a reply?
      }
      }
      More here: shiffman.github.io/A2Z-F15/week9/notes.html

    • @InspirationHeaven
      @InspirationHeaven 8 ปีที่แล้ว

      +Daniel Shiffman Thanks Shiffman, it did the trick, much appreciated :)
      PS: I like your enthusiasm.. Keep it up! :)

    • @TheCodingTrain
      @TheCodingTrain  8 ปีที่แล้ว

      +Zaka Ul Haque glad to hear!

  • @Qazaroth
    @Qazaroth 7 ปีที่แล้ว

    do this for a node.js server

  • @lonafernandes1445
    @lonafernandes1445 6 ปีที่แล้ว

    does not work

  • @spacebread501
    @spacebread501 5 ปีที่แล้ว

    Does this also work with a Python bot?

  • @VKestas
    @VKestas 6 ปีที่แล้ว

    Did anyone else get this after committing?
    *** Please tell me who you are.
    Run
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    to set your account's default identity.
    Omit --global to set the identity only in this r

    • @edwinparker3908
      @edwinparker3908 6 ปีที่แล้ว

      you need to set up GitHub repository for that and it will be ok. follow this video th-cam.com/video/J_Clau1bYco/w-d-xo.html

  • @lotus1219
    @lotus1219 8 ปีที่แล้ว

    my .py crashed

  • @maazmunir5836
    @maazmunir5836 6 ปีที่แล้ว

    Damn you coolio

  • @durrhurr55
    @durrhurr55 6 ปีที่แล้ว

    Someone teach me this OR kill me . Going to blow my brains out if I don't learn this soon . Been tormented for far too long... this is also pretty much the last skill I have to learn

  • @user-vf4vp8mg6d
    @user-vf4vp8mg6d 5 ปีที่แล้ว

    4:45