Sure. Just add some web scraping functionality to the bot. Here's a tutorial: https://www.google.com/amp/s/scotch.io/amp/tutorials/scraping-the-web-with-node-js
Decide how you want to display the results in Discord, perhaps the bot's playing status, or a pinned message. Set your bot to update at a regular interval and you're done. Here's a description of some basic code for repetitive execution: https://nodejs.org/en/docs/guides/timers-in-node/
A few possible upgrades would be to use a longer update period when everything is fine, but increase the frequency when it goes down, since users will probably be anxious to get back online as soon as possible. Another would be to allow users to subscribe to private messages about changes in status. You could also have the bot message you if it encounters any errors parsing the web page so you know right away if the company changes the page in a way that breaks your bot.
I'm not totally sure to be honest! Where your website ranks is all about how your website is structured. The keywords you'd want to look up are "search engine optimization" (or SEO), and you'll find a bunch of helpful information on how to make your website rank higher. From a brief search it has less to do with the name and everything to do with content and web crawling accessibility. SEO is a huge field and there a tons of aspects to it to read up on!
discord.py answer
use on_member_update event to detect user changes and take action if previous state's roles is not equal with the current state's roles.
example
@client.event async def on_member_update(before, after): if before.roles == after.roles: return
# you are now able to access both state's roles, # you can detect which one is added by doing something # like the following:
guild = client.get_guild(guild_id) my_role = guild.get_role(role_id)
if my_role not in before.roles and my_role in after.roles: pass # this means the user has been added the role
if my_role in before.roles and my_role not in after.roles: pass # this means the user has been removed from the role.
check this if you struggle reading the code on here
don't use on message, use the command ext.
msg = '{0.author.mention} :e_mail: -> :mailbox_with_mail: @(member.mention)'.format(message)
This whole line is wild.Nothing in here even uses role(s).
Async doesn't return a list of users in a role, (switch to rewrite to make this easy)
You'll need to iterate over all members, check their roles, make a list of users that do indeed have that role,
then pick one at random. eg;!randomuser
would kick back '@ScreamingIsMyAir I have picked @test_bot'
​
Want to learn how to code? You just have to read this page. It's pretty easy, to be honest.
Once you're done reading, you can jump straight into making a bot using this library.
Download the whole repo and unzip it, then rename the config.json.example
file to config.json
and fill out the fields.
Download and install Node.js if you haven't already, then open Powershell in the folder that has the bot files and run npm install
to install all the bot's dependencies.
Finally, start the bot with npm start
.
typescript is my personal favourite basically a beefed up version of javascript (it transpiles to js anyway). 95% of code will not need to change.
edit: the reason i think ts/js is the best is that their api (discord.js) is so versatile and the community is so active. if you put something up on stack overflow (it’s probably already there) the chances are it gets answered within a minute.
js is intuitive to learn and object-oriented which makes it the far and away best choice for web workers like discord bots.
my only experience with discord.py was an admittedly janky bot involving screen capture, image processing and a wxpython window on my home machine. discord.py struggled with this. i had to fiddle with concurrent processes and very unpythonic code to get it to work, but to be fair, it was possible. slow, but possible.
i’m sure with discord.NET (c# library) you could get marginally faster performance but, and i should mention i’m not a c# user, but procedural programming languages can’t really do as much as OOPs in terms of web working.
c++ is a tougher cookie, but i personally found it much harder to learn than js or even ts. the increased performance is negligible when combined with the relative sluggishness of the internet.
There are two ways I can think of to do this.
The first way is to host the bot and the Minecraft server on the same computer. Then you can just use OS calls or scripts to start and stop the server.
The second way is to (assuming your Minecraft server is available via public IP) set up a small program on your computer that listens for commands (perhaps a small Node/Express setup or similar) and starts or stops the server when commanded. Then, in your bot code, you can issue the commands to your computer to start or stop the server. If your home router supports it, you could even set up Wake-on-LAN to wake your computer from sleep when starting the server.
A simple Discord.JS bot should do the trick - you should check out the Discord.JS guide as well as the <code>child_process</code> module documentation to get started.
Hi, owner of RoboNitori here. About a week ago I got IP banned without warning, and then went through a nightmare dealing with support to get unbanned. I recently (like 15-20 minutes ago) detailed all that happened in my server. She's not coming back, but I'll be working on cleaning up the code to open source.
Edit: I'm an idiot, and forgot to include the link. Should be fixed.
I think it is possible to do this using repl.it and uptime robot by setting up a server. Try this link.
https://www.freecodecamp.org/news/create-a-discord-bot-with-python/
Scroll down to the heading "How to setup the bot to run continuously".
If I am wrong and/or this doesn't work, pls let me know.
I have a decent amount of experience with discord.js, and I'm not aware of any top_role function. That's not really how Discord roles work to my knowledge. Have you tried to glance at the documentation? If you don't understand those endpoints you should probably look up some tutorials and practice with those before creating your own from scratch.
> I was following a tutorial with Visual Studio 2017 (as it came with Unity)
The tutorial you linked uses Visual Studio Code. That is an entirely different program from Visual Studio. I would very much not recommend trying to program in JavaScript using Visual Studio. Visual Studio Code is much better for that. It also comes, as you've said, with a terminal integrated. There's no setup required, it just works out of the box. You can download Visual Studio Code here.
> Now I've got cmd open, the folder location of all it's files and the server open. I have tried to get the bot online again but I'm just having absolutely no luck with this.
Well, what have you tried? And what happened when you tried it? It's hard to help you if you don't specify that.
https://repl.it/repls/IdealMidnightblueRouter Also what version of discord.py - that will make a big difference in how you DM people. Are the leaders stored somewhere? you probably want to store the lists and the leaders.
async def on_member_join(member): if 'discord.gg' in member.name: print('true') await bot.ban(member, reason="advertising") else: print('false')
| I've gathered that I may need some java programming for this
What makes you think so? The readme on the project page is pretty clear.
| go get github.com/ewollesen/zenbot/bin/zenbot
You need to have go installed. You can download the distribution that matches your system here https://golang.org/dl/
Run go get <git-repo>
should checkout the project and build it.
The zenbot
binary will be built where your $GOPATH environment variable is pointing to.
The just follow the rest of the instructions in the readme to run the bot
> Since this is a big endeavor, I just want to know how I can make it send cookies and pets trivia with pictures randomly instead of having to call for it. One step at a time, you know.
You can use <code>setTimeout()</code> to run a function at a later time. If you call that with a random number for the delay (within reasonable bounds), you have randomly occurring events.
How do you get the XML exactly? Is it a file on your PC? A HTTP request?
Generally speaking, you'd need to have a recurring timer of some sort (for example via <code>setInterval()</code>) that reads in the XML and compares it to the last value it got.
Alternatively, if the XML is from a file then you may also be able to use the file watching API. That would save you from constantly having to check for changes, but I believe it's a bit more difficult to use. (I also haven't used it myself yet, so I don't have much more information on it.)
You can make a recurring timer using <code>setInterval()</code>. Alternatively, if you want the time to be random, you can use <code>setTimeout()</code>, and schedule a new timeout with a random delay whenever the last one fires.
As for leaving the server: yes, that it is possible. How to do it depends on what library you're using.
fs.readFile
and fs.writeFile
are basically convenience methods that handle all the low level file stuff for you if you just want to read/write an entire file (as is usually the case, in my experience).
If you want more control about what exactly you're doing, fs.read
and fs.write
can give that to you, but at the cost of being more complicated to use. To use those methods, you first need to open the file with <code>fs.open</code>. That returns a "file descriptor" (fd for short) of the file. Then you can pass that fd to fs.read
or fs.write
to manipulate the file. And after you're done, you need to manually close the file again with <code>fs.close</code>.
I really don't think you need to use those methods for what you're trying to do here. The regular fs.readFile
should work just fine for your purposes.
Why would you not want to read the whole file? JSON doesn't really work if you don't have all of it, anyway. You can't parse half a JSON file.
But if you really want to, you can read only parts of a file with <code>fs.read</code>. But again, I'm not sure why you'd want to in this instance.
economy.executorId
looks for the key that is literally the string "executorId", and is equivalent to economy["executorId"]
. If you want the value of the variable, you need to use economy[executorId]
.
As for how to edit the file, you can do that with <code>fs.writeFile()</code>.
(Also, it's "your balance", not "you're balance".)
Oh. :D
I use Scaleway. (I don't think they have a referral program.)
I'm using the smallest VPS atm, which is 2.99€ (or 3.59€ if you're in the EU (they are legally required to charge tax there)) per month.
Please, please do it in Python not C# (or JavaScript): the C# Discord library, Discord.net, is (to be blunt) terrible. The documentation... argh, I could go on for hours. Anyway, Python or JavaScript, yes please. Both languages are simple to pick up, and the libraries for them (discord.py and discord.js respectively) are really well made. Good tutorials can be found here (Python) and here (JavaScript).
I use to have connection issues with my bot that was running on a Ubuntu server, no idea what caused it (because I use to not log issues). I ended up throwing the bot into a docker container and the issues disappeared. I would say its worth a try if you are still having connection problems.
Learn about python first. I get that you are eager to make your bot, but it is crucial you understand python, async libraries, and discord.py of course.
Here is the link to the Discord.py docs.
To get a jump on learning python for free, I recommend a site named Sololearn.
THe decorator mentioned previously is a shortcut, allowing you to easily create commands. For example:
@bot.command() async def hello(ctx): await ctx.send('World!')
Oh, my bad. I overlooked that last time.
The issue is that with let diceEmoji
you're creating a new variable inside each if statement. This variable "shadows" the original variable with that name, and is then discarded at the end of the if block. So outside of your if statements, diceEmoji
will always be ":diamond_shape_with_a_dot_inside:".
Just remove the let
at the beginning of the assignments inside the if statements to fix that.
(Incidentally, ESLint's <code>no-shadow</code> rule would have alerted you of this.)
It would be easier to have all your friends on one service.
Here's the text chat reference for Google Hangouts, but I don't know if it works in group chats at all, since GH wasn't really built to work with bots in the same way that Discord and Slack are.
I got a case with a fan. That should be good enough but heatsinks don't hurt and they're only £1.
I used my computer keyboard to set it up but beyond that I didn't need a keyboard at all (I SSH into it via my laptop now). You could probably manage the same at a local library (or your school) if you don't have a computer keyboard, I wouldn't bother buying a keyboard - SSH is fine.
Don't buy 8gb storage. 32gb is literally the same price, there's no reason to limit yourself. You don't know how you'll be using the raspi in the future, it's best to just go higher considering the price is moreorless the same.
Lemme know if you need any help too
First pick a language. It could be Javascript, Python, or something else. You choose.
Then spend time learning and becoming familiar with the language. If you are learning Javascript, I recommend freecodecamp.org as it teaches you everything you need to know.
Finally, you can start learning how to code a bot in the language you went with. Now, it is important you learn the language before attempting to make a bot. While it's possible to learn the language while learning to make a bot, it's gonna be a rocky road. You will not understand much and will spend hours on problems that would otherwise be trivial. If you already know the language learning how to make a bot will be fairly easy.
What you’re looking for is called task automation and there are many products out there. I’ve personally used Zapier and IFTTT in a small capacity.
I checked IFTTT and it should work for you assuming you have control of the account.
Here are the events that it can detect (triggers). If it detects that event then it can perform an action such as as sending a message on Discord.
If you want the process to be automated, then you would have to look into webhooks, or use a service such as If this then that
If you wanted to run a command you can just have https://www.reddit.com/r/SUBREDDIT/new.json, and it will return a json object. Just grab the first element and that is the newest post on the subreddit!
Yeah, discord does have the webhooks feature that I already use with ifttt.com to post things that are posted about the game onto a discord channel. Having some output pasted into a channel for the mobile use to copy and paste might be a way to make that work. Thanks for the idea!
I believe IFTTT supports rss feeds. You can then make it call a webhook in discord when a new entry is added.
I see lots of people always recommending this, but idk how customizable it is.
Your other option is, of course, creating such a bot yourself.
This is possibly the easiest way to get everything just the way you want it if the former option doesn't satisfy your needs.
EDIT: You can also try out some of these bots and test if they can do what you want.
Ok, first, do you know the very basics of JavaScript? If not, I suggest you go learn. Second, assuming you copied the code word for word, I see no reason that you could’ve messed that up. Can you provide some code? Maybe using a service like hastebin, or replying to this message with it.
Sorry if I sound a bit harsh or mean here, I’m not trying to be. :]
I'm sorry, I don't want to spam you with questions, so I'll make this my last one... but I'm not 100% sure what you mean by making the token type bearer?
This is currently, what I have: https://hastebin.com/wonusiqiwe.py and it is basically my setup for my other bot. When doing this, I get the error of improper token passed. I'm just not sure what you meant by making the token bearer, so once I can get this online I can take off from there.
​
Once again, sorry for the bother.
Thanks for the help! Since this only updates a specified cell, how would i go about updating the last cell availible in a column?
For example if cell A1,A2,A3 had text but i wanted the next command to run into cell A4, and if the command was entered again A5 etc.?
https://hastebin.com/uzilocuwuq.cs
I was able to come up with this: https://hastebin.com/zakoqujoma.js
if you do !update on discord it will send to a cell "it works"
how do i get it to display what a user enters on discord? e.g
!command "text to go to cell here"
i am very basic at coding
Hey! Could you repost your code into Hastebin and give me a link from that? What you've put on here is a little difficult to read.
Could you also further explain what you're having difficulty with - I'm not convinced that I understand what you're asking for help on.
so i got the code working with just !key but it doesnt do anything when you do `!key domain.tld` any idea why?
​
code:
https://hastebin.com/otaromuqed.js
​
​
Obviously database is my db info
https://www.freecodecamp.org/news/cjn-google-sheets-as-json-endpoint/ - once you have the URL to get the json, code the bot to GET that URL and use the data.
In Node you can run a batch file with <code>child_process.exec()</code>.
(Just to be clear, your bot will need to run on the same PC as your Minecraft server for this to work.)
The "best programming language" isn't really a thing, it depends a lot on what you want to do. For Discord bots, like Squidtoon99 said, JavaScript and Python are probably the best choices. Those are the most popular languages for Discord bots by far, which means there are a lot of online tutorials, and it's considerably easier to find help for them. And they are pretty easy to pick up and get started with, too.
I use JavaScript myself, so that's the one I can help with the most. This is the official guide for discord.js (the most popular JS Discord bot library). The guide is specifically for making bots and assumes you know the language itself reasonably well, but it has some links to resources for learning JavaScript on its homepage, in the "Before you begin..." section.
As for the best program to program with, I strongly recommend Visual Studio Code.
The fuck are you smoking? That link is a hastebin instance. That should be pretty obvious. It's self-hosted by the community of this subreddit's official Discord server. Where I'm a mod, btw.
We use a self-hosted instance because https://hastebin.com/ has a lot of downtime, and we prefer it over just posting code in Reddit because it looks much nicer and is much more legible, especially for large amounts of code.
For the 1st code, member is something that isn't defined. Use [this](https://hastebin.com/emavewacuj.js) for the first code.
For the 2nd code, you don't seem to have given me the error in specific. Try to give me a link to the error.
​
Ya, the formatting can get confusing if you have a ton of text. Your post still isn't quite correct. Check out Reddit Enhancement Suite, it makes formatting reddit way easier.
Just require it at the end of the script, and that should save it as a JSON that you can edit.
let data = require('./file.json');```
Then you could edit the data as you please.
```js
data.key = "string";```
Now every time you edit the data, save it as that file.
```js
// repeat of above line
data.key = "string";
saveData();
function saveData() {
fs.writeFileSync('./file.json', JSON.stringify(data));
};```
Here is a repl.it, as an example for you.
https://repl.it/repls/BurlywoodUnevenCircles
Hmm. I have tried running locally but without success. I decided I wanted to use repl.it because I'm used to it and it's much simpler. I then tried downloading Visual Studio Code because the discord.js guide suggested it. However, my code got the exact same result, and my bot is still offline
Thanks for getting back to me.
I hope it was something simple. I've iterated my code about 7 times already, here is what I have now:
https://repl.it/@Fire_Kiwi/sampleDiscordBot
Ignoring the sample command, I've put basically what every other tutorial put, I also have a .env file, reading:
TOKEN=myt0kenWithNoSpaces
So I really don't know.
My mom's kicking me off the computer right now, so I'll check again in the morning (about 10 hours from now for me). Good night and thanks for any help I can get from you.
>DEP0018
(node:2379) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined
(node:2379) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:2379) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
​
Oops, sorry here it is
I can see the confusion; the installation steps in their readme are given kind of out of order in a way that doesn't make much sense. And the repo is also missing a package.json file, so npm install
won't actually install the dependencies properly.
Basically:
npm install discord.js enmap node-localstorage osrs-api requestify text-table
config.json
and replace the example token there with the bot token you got from your application page. Optionally, also replace the prefix in there with one of your choice.node index.js
to start the bot. (To stop the bot again, press Ctrl+C.)Please note that I got the dependencies in step 5 by just looking through the bot files, but I have no way of knowing which versions of the libraries the bot needs. If any of the libraries received a major update since the version the bot was written for, the bot might just not work.
this is what i get in my terminal when I write the command "-örsk" in my dc server:
(node:11700) UnhandledPromiseRejectionWarning: err: [object Object]
(Use `node --trace-warnings ...` to show where the warning was created)
(node:11700) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:11700) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
You made this account just to respond? Lol.
Ok, what's up with this? >Hello, some of the following statements you have said are incorrect. > "Afaik they're still not operating under a registered company, still have no real privacy policy, privacy statements and still do shady stuff that they did before."
I never said that, and nobody in the linked documents has said that. You okay man?
And about the reviews: https://www.trustpilot.com/review/falixnodes.net?languages=en&stars=1.
You know what looks really, really shady? All the 5 star reviews reading like canned "I love this and everything about it" statements, while all the one star reviews citing "Terrible Service" and "Staff muting and ignoring" and "Pamar and Mario are scammers" and "DO NOT USE".
Are your community members really having such polar opposite experiences with your company that some would die for it while others despise it? Lets apply Occam's Razor. Which is more likely? Customers have a 50 percent chance to either love or hate your company, or you botted the review site in order to appear more legitimate.
Another thing you took issue with was me:
>asking you how can we harm you to which you don't show your response.
I figured anybody with a brain would know the response by default, but here are some examples of what you could do with a free hosting service: - leak account information stored by a bot running on your servers - leak closed source software hosted by your servers (which you have done already) - leak any amount of any kind of data hosted by your servers
So, FalixNodes. What the fuck is wrong with you? You would look 100x more legitimate if you stopped this shit
Here you go link for bot https://discord.com/api/oauth2/authorize?client_id=671063536616734795&permissions=8&scope=bot Will be online in 5 min 24/7 if you have any questions do *support when bot is online command for countdown is *timer prefix is * enjoy
https://stripe.com/works-with/upgrade-chat
​
We are a stripe verified partner. They verified the code, compliance and we have 200+ servers accepting donations with our system. No other discord bot is a verified partner with any payment gateway... Let alone a 50 billion dollar one. But yea, its not a chat server. Support server.
Ah, I didn't realize one (or more) of the dependencies needs git.
You can get that here. If you don't know what some of the settings during the installation mean, just choose the default; it's generally the best one.
Thanks for replying - that's a bit like what mine look like, but they still feel a little basic imho. I was hoping to get them to look closer to what Plot.ly does.
Any tips on how I can style matplotlib to look closer to that?
The other guy told you how in his post, you already have the list. You could even use the SAME list and just do random.choice(thelist) again Eg: Print(f'{random.choice(thelist)} and another {random.choice(thelist)}') Https://repl.it/repls/SecondaryDefenselessComputing
I am getting some errors in the command prompt if this helps:
(node:24596) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
If you just want to send a message "every N seconds", you can use <code>setInterval()</code>.
If you want to send a message "every day at N o'clock", you can use a cron library like node-schedule, for example. (There's several others, feel free to google around.)
According to MDN, ActiveXObject
"is a Microsoft extension and is supported in Internet Explorer only". So it won't work in Node.
To run programs in Node, you want to use the <code>child_process</code> module.
Well, that's half of the things I asked for...
I'm guessing you're using discord.js? If so, you can pass a buffer as the file.
So you can create a buffer from your string via <code>Buffer.from()</code> and pass that (in an array) to the <code>files</code> property of the message options.
If this solution works for you that's fine, but if you ever need to do something like this again, or if you feel like refactoring it later, you should take a look at the cheerio module. It's a module for parsing HTML structures.
With it, you could do this in a more robust and (in my opinion) much simpler way:
const $ = cheerio.load(body.toString()); // load the HTML string into cheerio const linkElement = $('.actualmediactn a'); // find link element that's inside an element with the class "actualmediactn" const actualImgLink = linkElement.attr('href'); // direct image link is the "href" attribute of the link element
> (although I wish I didn't have to use embed img)
Like I said in my other comment, you don't. You can just pass the image URL as a file and discord.js will handle it for you.
> and whatever fs is
Just FYI, fs is Node's native file system module.
I second the advice to use PM2. It's definitely the easiest way to do this.
Also, be advised that on many Linux distributions you can't just do sudo apt install nodejs
, as that will get you a severely outdated version. Instead, follow their instructions on how to install Node via package manager.
Messing around with stuff is always a good way to learn. ^^
Still, a few pointers, if you're interested:
clearInterval()
is inside your if (message.content === "g!watch")
statement, so you're only stopping the timer when someone is using that command, not on every message.setInterval()
, the variable message
is not defined anywhere. You only get a message to work with once you're in the "on message" event handler.From start to finish:
botSettings.json
filebotSettings.json
filenpm install
to install all dependencies (contrary to what the bot's readme implies, you do not have to install them all one by one)npm start
or node ./src/bot.js
Best site in my opinion, lots of choices to chose from, excellent support. It is very barebones though, so there are no fancy graphs or statistics to look at and what not, but the fact that it is cheap and reliable and the fact they are almost constantly out of stock because of high demand is a combination that says a good company.
I have been with them for about a year after i dropped DO due to costs, i do host a test bot on a linux machine though, the main problem with self hosting is the uptime.
Scaleway offers a VPS that's about twice as powerful as DO's $5 tier for 2.99€ (plus another ~0.50€ in tax if you're inside the EU). I'm using them and have had no issues so far.
Bakery Hosting's cheapest tier is $2, but I've only heard of them. I've never used them myself and therefore can't make any assurances regarding their quality.
I assume you've alredy solved this, but I'll post an example here for anyone that might want it. It's using Discord.Net.Modules that you can download from NuGet, I would very much recommend using Modules instead (assuming you're using MessageRecived event to handle commands).
I would put the TestModule Class in a new .cs file.
Easier to keep track of different modules that way.
pastebin link
Just set up an auto hotkey to mute the bot on your end (or as an admin, mute it for your group)!
All other solutions involve more work than is justified.
Discord TOS contain no mention of automating the discord client. You will not be banned, and can appeal any potential bans. Additionally, autohotkey doesn't inject anything into your game or discord client. Detecting it is not only difficult, but also implies that those detecting it have installed spyware on your computer!
Apparently you can be in a private call and a server call on discord at the same time. So you can use the private call for party-comms, and in the server call only leave groovy unmuted.
Depending on how deadset you are on groovy, the best alternative is just using a browser-based music sync service like JQBX instead, and autohotkey mute your browser.
Ahh ok. Instructions anyway:
OK so it should create a folder, perhaps c:\upp and within that MyApps. That's your nest. For packages, nests and assemblies see: https://www.ultimatepp.org/app$ide$PackagesAssembliesAndNests$en-us.html
So what I'd do:
The rest of a matter of copying the example code over, building and running.
Let me know if I missed anything.
PMs seem to be down now so I suppose I'll have to answer your questions about Upp here. What are you stuck at? Did you download and install Ultimate++?
This may not be a good enough response, but I find glitch.com to be a good provider although at a higher cost than you were asking for ($8 a month) but this plan can run 5 containers / projects 24/7 and has a good support team. Python isn't officially supported for glitch currently although there is still good ways to get it set up and running. Good luck with your bot!
Use Glitch.com in conjunction with UpTimeRobot.com, you can find tutorials on YouTube on how to do it. You can host up to 50 bots this way, and they're always up, and faster than professional bots like Mee6.
I use glitch.com, it offers free hosting and you can also code with your friends together because the IDE allows for collaboration like in a Google Doc.
However, the main downside of Glitch is that the bot only stays active when the website is open. :((
My colleague made this bot with google sheets but we had trouble writing to the sheet so it only reads from the sheet
https://glitch.com/~bizbot-discord
The Google Sheets API isn't very easy to use. I found Airtable much easier.
You can keep ONE script running 24/7 if you provide your credit card info. Heroku bills you on the basis of hours. So like suppose you have a script running 24/7 for a month, it would cost you 30*24 hours, and if you want to keep 2 scripts running 24/7, it will cost you double. You can view all the available plans here
tYou could as well host it for free on Heroku. If you provide a credit card you will get 24/7 hosting for a single dyno (let's say server) for free (if you provide a credit card to verify your account you get around 35 days worth of computation every month, which means 24/7 with a single app).
You will then need to add specific buildpacks to your app according to your language, might want to search it up.
Afterwards you create a Procfile which is a file containing your launch instruction. You want to setup a worker to host your file as unlike a web dyno, it won't go to sleep. If you were using java, your Procfile would be:
while true; do java -Xmx2G -Xms2G -jar target/target.jar*; done*
For Java I use the loop to have the bot restart in case of a crash and you can with Java setup to 2GB of RAM without issues (except some logging error that your bot uses 150% of RAM but who cares what is says if it works).
You should basically have the bot launched there 24/7. You can as well connect it to your GitHub repo and enable automatic deploys so it will run the current latest code of a specific branch.
I use Heroku for Elixir and Java bots and for now I've had 0 issues Heroku related which wasn't a malformed configuration for the first time ahahah.
Well, it runs off of only your computer meaning that once it's off, the bot is too. There are multiple VPS (virtual private server) services that will allow you to deploy it online instead of on your computer. Also, if you have an extra device, something small like a raspberry pi running linux or an old computer you can keep in your closet etc. you could also run it there. You could check this out, which is by Amazon, or this, called Heroku.
Good luck :)
Hey I think this is a really good idea but I have ome question. Why are u using Google sheets to store data. There are other options to store data like for instance mongodb is a good db for bots. Mongo is a document based db which means is that all of its schemes are json style and really easy to read and write data
https://www.mongodb.com/blog/post/getting-started-with-python-and-mongodb here is a link to get started if u are interested
I mostly code in js, but I recommend if using json files, just switch over to MongoDB atlas. People have problems with heroku when they use localhost, which there is a good chance your SQL DB was. Try MongoDB atlas. You can create 1 free database with like 16mb of storage.
(MongoDB Atlas) https://www.mongodb.com/cloud/atlas/signup
I'd say steer away from enmap. I understand why it is appealing because of its simplicity, is OVER simple, making it hard to do more advanced things. For my bot, I use MongoDB. You can either have it store the database locally, or there is a free tier.
As seen in the line 16 the MongoClient
uses url
to connect to the mongo database so the url is a mongo database connection url. You can host a mongo database locally or use MongoDB Atlas
I don't know Python, but JavaScript has <code>setTimeout()</code>, which you could call with a randomized value for the delay.
Perhaps there's something similar in Python?
If I understand this correctly, then chat bots in Hangout can only see messages that "mention" them.
So you can't use a bot to relay all messages over to Discord.
I've never actually used bots in Hangout before, so take this with a grain of salt.
There are alot of bots to have a leaderboard for, my personal favorite bot is Tatsu (Tatsumaki) bot, its really great for the leaderboard you want. Adds XP to the user and displays the top XP members. But if you want weekly/monthly message statistics display, then I highly recommend Statsbot.
Tatsu invite: https://discordapp.com/oauth2/authorize?&client_id=172002255350792192&scope=bot&permissions=12659727
StatsBot invite: https://discord.com/oauth2/authorize?client_id=491769129318088714&scope=bot&permissions=380009
In the Developer Legal section:
2.2 Restrictions. You shall not, and shall not permit any person, directly or indirectly, to (i) reverse engineer, disassemble, reconstruct, decompile, translate, modify or copy the API or SDK, other than as explicitly permitted hereunder (except to the extent the foregoing restriction is expressly prohibited by applicable law notwithstanding this limitation), (ii) create derivative works of the API or SDK or any aspect or portion thereof, including without limitation, source code and algorithms, (iii) distribute or otherwise disseminate the API or SDK by any means or in any form, except as an integral part of your Applications; (iv) use the API or SDK in connection with any Applications that include any malware or other harmful code or that facilitate spamming in any way; (v) circumvent any limits or any privacy or access controls (or attempt to do so); or (vi) include any advertisements or other promotions within the functionality enabled by the API or SDK. Except as expressly set forth in this Agreement, Discord reserves all rights in or the API and SDK.
I believe your answer lies in webhooks. Discord has a simple webhook creator already built-in, so that part's easy, with one stipulation - you need the server management permission. Create a webhook, choose the channel that the news will be posted to (choose whatever name and avatar you like), and copy the webhook URL at the bottom, before creating it (you can get the URL after it's been created so don't worry if you forget).
Secondly, choose your newsfeed. It'll need to be one with an RSS feed, which should be most major sources (at least all the ones I know). Copy the RSS URL.
Last step - Zapier. This is a free service, and basically you can use it to redirect an RSS feed to a webhook. Simply put in the RSS URL and the Webhook URL, and boom! You're done. Whenever the RSS feed updates, Zapier will shoot it through to your Webhook, and Discord will post it to the specified channel through the bot you made in the first step.
Hopefully that does what you want. If I've completely missed your point then I've wasted about half an hour of my time and I'm sorry.
hey, I know you are looking for a bot to play your recordings but we have a bot to play memes/sound effect via a website and a mobile app. And soon we also plan to implement uploading your own recording. You might want to give it a try!
https://discordsoundboard.com