I am the Captain, my name is Dave!
This commit is contained in:
commit
cc239d21c3
5 changed files with 418 additions and 0 deletions
88
README.md
Normal file
88
README.md
Normal file
|
@ -0,0 +1,88 @@
|
|||
# Dave
|
||||
|
||||
A Mastodon Bot written in Python that posts random Scooter quotes every time you run it.
|
||||
|
||||
[@dave@cyber.ms](https://cyver.ms/@Dave)
|
||||
|
||||
Big thanks to [Ramses](https://corteximplant.com/@revengeday) for helping me and making it even better! :3
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python3
|
||||
- pyYAML
|
||||
- Mastodon.py
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
1. **Clone the repository**:
|
||||
|
||||
```sh
|
||||
git clone https://git.cyberwa.re/dalfuss/Dave.git
|
||||
```
|
||||
|
||||
2. **Navigate to the project directory**:
|
||||
|
||||
```sh
|
||||
cd Dave
|
||||
```
|
||||
|
||||
3. **Create Mastodon App and enter Credentials**:
|
||||
- Go to your Mastodon Settings -> Development
|
||||
- Klick "New Application"
|
||||
- Enter an Application Name
|
||||
- Scroll down to "Scopes" and check "write:statuses"
|
||||
- Submit
|
||||
- Klick on your new Application and copy your access token
|
||||
- In your Terminal enter
|
||||
|
||||
```sh
|
||||
nano mastodon.yml
|
||||
```
|
||||
|
||||
- Replace the placeholders
|
||||
|
||||
```yaml
|
||||
url: https://INSTANCE.URL # <-- Your instance URL here, e.g https://corteximplant.com
|
||||
token: APP_TOKEN_HERE # <-- Your application token here
|
||||
```
|
||||
|
||||
4. **Create .venv so you don't mess up your global Python**:
|
||||
|
||||
```sh
|
||||
sudo apt install virtualenv
|
||||
virtualenv .venv
|
||||
```
|
||||
|
||||
5. **Switch to your Virtual Env and install the requirements**:
|
||||
|
||||
```sh
|
||||
source .venv/bin/activate
|
||||
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
6. Now you can either run it manually with
|
||||
```sh
|
||||
python bot.py
|
||||
```
|
||||
|
||||
7. Or create a cronjob to run it on a timer (use [Crontab.guru](https://crontab.guru/) if you need help :3)
|
||||
|
||||
```sh
|
||||
contab -e
|
||||
|
||||
# This will run the script every 3 hours
|
||||
0 */3 * * * /path/to/Dave/.venv/bin/python /path/to/Dave/wicked.py
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
Want to add more Scooter lines?Just send a pull request. (Or don't and add them manually to your `lyrics.yml`)
|
||||
|
||||
## Contact
|
||||
|
||||
Got questions? Hit me up anywhere listed on [dalfuss.link](https://dalfuss.link/) :3
|
283
lyrics.yml
Normal file
283
lyrics.yml
Normal file
|
@ -0,0 +1,283 @@
|
|||
- quotes:
|
||||
- Is everybody on the floor?
|
||||
- We put some energy into this place!
|
||||
- I want to ask you something: are you ready for the sound of Scooter?!
|
||||
- I want to see you sweat!
|
||||
- I said: I want to see you sweat!
|
||||
- Hyper! Hyper!
|
||||
- Excuse me! Where is the bass drum?
|
||||
- We need the bass drum!
|
||||
- Come on!
|
||||
- It′s so beautiful to see your hands in the air!
|
||||
- Put your hands in the air!
|
||||
- This is Scooter! We want to sing a big shout to U.S., and to all ravers in the world!
|
||||
- Keep the vibes...
|
||||
- I'll have to ask you again: do you like it hardcore?
|
||||
- Do you like it hardcore?
|
||||
- We need the hardcore!
|
||||
- Sit there, be good, bye-bye!
|
||||
- Pump it up!
|
||||
- Aaaah! I ramp, me no ramp!
|
||||
- Me no skin!
|
||||
- Me no play, yeah!
|
||||
- When me chant 'pon the microphone
|
||||
- Junglists in the place
|
||||
- Scooter are you readyyy?
|
||||
- Love, peace and unity
|
||||
- Siberia, the place to be
|
||||
- The K, the L, the F and the ology
|
||||
- Halleluja!
|
||||
- Siberiaaaaaaaaaaaaaa! Yay!
|
||||
- We′re gettin′ jiggy!
|
||||
- How much is the fish?
|
||||
- The chase is better the catch
|
||||
- Transforming the tunes
|
||||
- We need your support
|
||||
- If you′ve got the breath back
|
||||
- It's the first page of the second chapter
|
||||
- I want you back for the rhythm-attack
|
||||
- Coming down on the floor like a maniac
|
||||
- I want you back for the rhythm-attack
|
||||
- Get down in full effect
|
||||
- Sunshine in the air
|
||||
- We′re breaking the rules
|
||||
- Ignore the machine
|
||||
- You won't ever stop this
|
||||
- The chase is better than the catch
|
||||
- Wooow
|
||||
- I want you back so clean up the dish
|
||||
- By the way, how much is the fish?
|
||||
- I am the horseman
|
||||
- I′m mentally mad
|
||||
- I am a super sharp shooter sittin' on a rooftop
|
||||
- My name is MC H.
|
||||
- I got the big breaks, the bass
|
||||
- One, two, check
|
||||
- It′s a mixture rough to the core
|
||||
- Through the texture
|
||||
- Come and get a taste of the fixture, yeah
|
||||
- Yeah, aaa, aaa, aah, yeah I feel hardcore
|
||||
- Yeah, aaa, aaa, aah, yeah always hardcore
|
||||
- Yeah, aaa, aaa, aah, yeah I feel hardcore
|
||||
- Yeah, aaa, aaa, aah, yeah always hardcore
|
||||
- Yeah, aaa, aaa, aah, yeah I feel hardcore
|
||||
- Yeah, aaa, aaa, aah, yeah always hardcore
|
||||
- Yeah, aaa, aaa, aah
|
||||
- Want a lyrical sex
|
||||
- Ice the platinum tech
|
||||
- With a minute in the game
|
||||
- When discover my necks, you don't fret
|
||||
- Me and my crew we are too H O T
|
||||
- For any crew out there or any MC
|
||||
- Rippin' up the B you want H A T E
|
||||
- Jealousy won′t get you nowhere, I′m H.P. yeah
|
||||
- Alright
|
||||
- One world, one people, one music
|
||||
- Scooter, back in the house, yeah
|
||||
- Get off your shirts and wait for further instructions
|
||||
- Starting the, "Microphone business"
|
||||
- I′ve got one message for the next decade
|
||||
- Move your ass
|
||||
- All right posse, keep it up
|
||||
- Hardcore
|
||||
- Come on, keep it up
|
||||
- Ravers unite
|
||||
- Maximum respect to the whole European posse
|
||||
- Make some noise
|
||||
- Ravers of the Universe
|
||||
- You, keep the spirit alive
|
||||
- Come on, come on, hardcore
|
||||
- Sing it, yeah-ay, yeah-ay Yeah-ay, yeah-ay
|
||||
- Alright, come on posse, you've gotta keep it up
|
||||
- Come on, party, you′ve gotta move
|
||||
- Alright, come on posse, you've gotta keep it up
|
||||
- Come on, party, move your ass
|
||||
- It's nice to be important. But it′s more important to be nice!
|
||||
- Posse, you keep the spirit alive
|
||||
- You still feel alright?
|
||||
- You want some more?
|
||||
- Come on
|
||||
- Kickin′ it, kickin' it, kickin′ it yeah
|
||||
- Move your ass, yeah
|
||||
- Rave nation, stay tuned
|
||||
- Welcome posse
|
||||
- We′re kicking up
|
||||
- Once again, we have the plan
|
||||
- Driving you wild, as good as we can
|
||||
- Don't stop us now, we′re gonna make you move
|
||||
- Raving outside to the passionate groove
|
||||
- So I wanna check the microphone
|
||||
- I wanna check the microphone
|
||||
- I wanna check, I wanna check
|
||||
- The Rick, the Ferris and MC H.P.
|
||||
- Scooter, back in the U.K.
|
||||
- Yes, somewhere in England, banging the bass
|
||||
- Join our trip to this weird place
|
||||
- Back to nature where we can be
|
||||
- Faster and harder, louder and free
|
||||
- We started in 1994
|
||||
- In 1996, we're still on the case
|
||||
- Hold tight crew
|
||||
- Together no one can stop us now
|
||||
- The birds, the trees, the clouds, the seas
|
||||
- The Rick, The Ferris and MC H.P.
|
||||
- Encore, hardcore
|
||||
- Rock you down to the floor
|
||||
- Posse saw ya on the border
|
||||
- Jungle jumper under order
|
||||
- Every minute, every hour, got the power
|
||||
- Take a shower, brand stuff
|
||||
- Screaming lord, wicked and tough
|
||||
- Right now, say lord have mercy
|
||||
- I′ve got the money, I've got the place
|
||||
- You′ve got the figure, you've got the face
|
||||
- Let's get together
|
||||
- We′re jumping all over, all over the world
|
||||
- Singing, jumping all over the world
|
||||
- I′ve got the music, I've got the lights
|
||||
- You′ve got the figure full of delights
|
||||
- Let's get together
|
||||
- I've got position, I′ve got the name
|
||||
- You've got the power to drive me insane
|
||||
- I′ve got the money, I've got the place
|
||||
- You′ve got the figure, you've got the face
|
||||
- I like the way it′s hard, I love the way it's loud
|
||||
- I like the way it′s hard
|
||||
- I love the way it's loud
|
||||
- No one understands what the fuck I am about
|
||||
- Just step into the place, and hear what I say
|
||||
- I spit with the lyric, no time for delay
|
||||
- Slam rock with the jungle man to man, with the jam
|
||||
- You know who I am
|
||||
- When me come me coming rough, you know I′m above
|
||||
- Be there!
|
||||
- I drop it medium rare, yeah!
|
||||
- J'adore hardcore...
|
||||
- Doin' it together!
|
||||
- C′mon!
|
||||
- Sing it!
|
||||
- Yeahhh!
|
||||
- For sure I got my plan, don′t really give a damn!
|
||||
- On my own mission, I fight like a man
|
||||
- Doin' it for myself, not for the industry!
|
||||
- Check ′pon the rhythm, and to the M.I.C.
|
||||
- Slam rock with the jungle hand to hand, hummin' a bum
|
||||
- ′Cause I got the jam
|
||||
- When me come me coming rough, I got the stuff
|
||||
- Be there!
|
||||
- Let's shuffle in the air, yeah!
|
||||
- J′adore hardcore...
|
||||
- Raise your hands up to the roof...
|
||||
- Raise your hands up in the air...
|
||||
- 3 a.m.!
|
||||
- The painted cow!
|
||||
- Yeah!
|
||||
- You ain′t stopping us now! (Wonderful human beings) (hey!)
|
||||
- Yeah! I am the Junglist souljah
|
||||
- Come on!
|
||||
- The rocket launcher stopped ya! (Hey!)
|
||||
- It's not a bird, it's not a plane
|
||||
- It must be Dave who′s on the train
|
||||
- Wanna, wanna get′cha, gonna, gonna get'cha!
|
||||
- Tell ′em that I told ya
|
||||
- Yeah!
|
||||
- Alright!
|
||||
- Are you ready? It's not a game!
|
||||
- I chant so much, I turn you insane
|
||||
- Wanna, wanna get′cha, gonna, gonna get'cha!
|
||||
- Messing up the area, yeah! (Hey!)
|
||||
- Come on! (Hey!)
|
||||
- I am the freshman
|
||||
- Messing up the jam!
|
||||
- Turning up the stereo
|
||||
- Join the caravan (hey!)
|
||||
- Skippy, the rain won't come!
|
||||
- Alright everybody
|
||||
- Tie you shoes
|
||||
- Yeah
|
||||
- From the H to the P on da mic you will see
|
||||
- The people′s champ that's me
|
||||
- Yeah
|
||||
- Skibadee, skibadanger, I am the rearranger
|
||||
- Hit them with the raw for sure
|
||||
- Now bun your draw
|
||||
- Skibadee, skibadanger
|
||||
- I am the rearranger
|
||||
- Never, never endeavour
|
||||
- The good weather
|
||||
- Or whether we be there
|
||||
- Only for your pleasure
|
||||
- Yeah
|
||||
- Maria, believe me, I like it loud
|
||||
- Right now posse
|
||||
- We′re the special guest mixologists
|
||||
- Yeah
|
||||
- Aaargh...
|
||||
- I ritz bits for da hits with the lyrics
|
||||
- With a robotic, narcotic in the pocket
|
||||
- The fire rocket, blood socket, I crack whip
|
||||
- Elastic to plastic, my platinum hit
|
||||
- You git, gudda gudda get up with it
|
||||
- Me on the mic, be sophisticated
|
||||
- DJ's articulated, me on the mic
|
||||
- Yeah
|
||||
- Here we go
|
||||
- Thank you
|
||||
- I want everybody as close to the stage as possible
|
||||
- Get there speed
|
||||
- We′re going back to the heavy weight jams
|
||||
- Let's go out for a walk to the other side
|
||||
- Get the sound
|
||||
- Join the crew
|
||||
- And you feel alright
|
||||
- No more victory
|
||||
- Go back to reality
|
||||
- It′s the message
|
||||
- So listen and you will see
|
||||
- No illusion
|
||||
- The spirit is what you feel
|
||||
- Get the volume
|
||||
- Tonight you can make it real
|
||||
- I explain once again
|
||||
- We wont let you down
|
||||
- We can't stop going on that's what i′m about
|
||||
- Faster, harder, scooter
|
||||
- We′re getting faster harder scooter
|
||||
- FASTER
|
||||
- HARDER
|
||||
- SCOOTER
|
||||
- From japan and brasil to the usa
|
||||
- Let me ask you if there is a better way
|
||||
- I believe in missing the time we had
|
||||
- Don't you know we just want you
|
||||
- No bad rumours or chargers will make us stop
|
||||
- Now the time has come we will reach the top
|
||||
- I explain once again
|
||||
- We wont let you down
|
||||
- We can′t stop going on that's what i′m about
|
||||
- Everbody shout
|
||||
- 'Yes'
|
||||
- Aah!
|
||||
- Party people!
|
||||
- The sky has changed
|
||||
- Can you smell the sun?
|
||||
- It′s time, for the most exciting season!
|
||||
- It's time, for summer... an endless summer!
|
||||
- Move to the baseline!
|
||||
- Move to the baseline! Jump, jump!
|
||||
- Endless summer, endless summer
|
||||
- Can you feel it?!
|
||||
- Love is in the air! Endless summer, endless summer
|
||||
- Party people!
|
||||
- Come follow me, come follow me, come follow me this sunny day!
|
||||
- Generation of the future! See ya!
|
||||
- We got the turbo
|
||||
- We gonna hit you harder!
|
||||
- Chicks in motion Across the ocean
|
||||
- We start the party
|
||||
- So come on everybody, yeahhhh!
|
||||
- BASS!
|
||||
- No more coffee, just have a beer
|
||||
- You like to party? That's why I'm here!
|
||||
- Can you tell me? How do I get off the bus, right?
|
||||
- To the beat now, one two three four!
|
2
mastodon.yml
Normal file
2
mastodon.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
url: https://INSTANCE.URL
|
||||
token: APP_TOKEN_HERE
|
12
requirements.txt
Normal file
12
requirements.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
blurhash==1.1.4
|
||||
certifi==2024.12.14
|
||||
charset-normalizer==3.4.1
|
||||
decorator==5.1.1
|
||||
idna==3.10
|
||||
Mastodon.py==1.8.1
|
||||
python-dateutil==2.9.0.post0
|
||||
python-magic==0.4.27
|
||||
PyYAML==6.0.2
|
||||
requests==2.32.3
|
||||
six==1.17.0
|
||||
urllib3==2.3.0
|
33
wicked.py
Normal file
33
wicked.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
import random
|
||||
import yaml
|
||||
from mastodon import Mastodon
|
||||
|
||||
|
||||
with open("mastodon.yml", "r") as config_file:
|
||||
try:
|
||||
mastodon_data = yaml.safe_load(config_file)
|
||||
except yaml.YAMLError as e:
|
||||
print(f"Scooter says: YAML error in config loading, hyper hyper! {e}")
|
||||
exit(1)
|
||||
|
||||
mastodon = Mastodon(
|
||||
access_token=mastodon_data.get("token"),
|
||||
api_base_url=mastodon_data.get("url")
|
||||
)
|
||||
|
||||
with open("lyrics.yml", "r") as lyrics_file:
|
||||
try:
|
||||
lines = yaml.safe_load(lyrics_file)
|
||||
except yaml.YAMLError as e:
|
||||
print(f"Scooter alert: YAML mix-up in lyrics! Call the doctor! {e}")
|
||||
exit(1)
|
||||
|
||||
output = random.choice(lines.get("quotes", []))
|
||||
|
||||
visibility = 'public' if random.random() >= 0.9 else 'unlisted'
|
||||
|
||||
try:
|
||||
mastodon.status_post(output, visibility=visibility)
|
||||
print("Success! Our post has rocked the Mastodon stage!")
|
||||
except Exception as e:
|
||||
print(f"Scooter check: Something went bonkers with the Mastodon post! How much is the fish? {e}")
|
Loading…
Reference in a new issue