I've finally finished my custom desktop, and installing all the software I need on my new laptop. So I thought I'd upload a tutorial on how I did it đ„°
I'm still not 100% happy with all the icon choices but I'll add swap ones out as I see them. Here's some tips on how I did it:
Making Windows 11 desktop shortcuts
Windows 11 makes it weirdly hard to make desktop shortcuts. Its easy with some apps, almost impossible with others. The easiest possible way which took me ages to find out is that if you go onto your windows start menu and click all apps, you can drag them onto the desktop to make a shortcut. It won't work from search, it has to be from the full list. Very annoying, but it works for pretty much every app.
Opening multiple links at once
I like having websites I frequently visit on my desktop, especially if its an online course I'm working on because it's like a reminder to do it. Sometimes there are websites that I always use together and to save time and space I've set up a way for them to open at the same time from one shortcut using python and windows batch files.
Heres how to do it:
Step 1) Make your script
Make sure you have python installed (you can find it in the windows app store)
Create a python script which opens the websites you want using the webbrowser module. This is the code you need
Literally just copy and paste that into notepad, or an IDE (adding more lines if you need them) and save it with the extension .py to make it a python file.
Copy the path to your file location by right clicking your new file and choosing "copy as path"
2) Make a batch file
Open another tab in notepad and use the following script and copy the following template into it
Note - Please remove the slash between the @ and echo
@/echo off
python "C:/your/file_path/here"
Save this file with the extention .bat which will run the code when its clicked and open all your urls. You are going to want to save this in your files somewhere , and then right click and choose create shortcut.
You are going to want to do this if you want to use a custom icon because windows doesn't let you directly change icons for batch files for security reasons.
How to make and use custom icons
Find your images
You can make your own but I saved mine from pinterest.
2) Remove the background
Use a background remover tool (I used remove.bg) to remove the background, if the image has lots of black or white it might remove this too but you can add it back in using a drawing app (I used procreate). Save it as a PNG.
3) Convert it to an ICO file
This is the type of file that can be used as icons in windows. The converter I used is convertio, but keep in mind there is a limit of 10 minutes a day for the free version.
4) Change the icons
Right click on the desktop shortcut, choose properties and then choose change icon. Find your .ICO file and click Ok.
Well, that was a very long post. But I hope it was helpful!
Does anybody else customise their desktop icons? Let me know đ„°
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch âą No registration required âą HD streaming
Learn Ethical Hacking From A-Z: Beginner To Expert Course Learn how to become an elite ethical hacker and easily hack networks, computer
Learn Ethical Hacking From A-Z: Beginner To Expert Course
Learn how to become an elite ethical hacker and easily hack networks, computer systems, web apps and so much moreâŠ
What youâll learn
Learn Ethical Hacking From A-Z: Beginner To Expert Course
How To Become An Elite Ethical Hacker
How To Setup A Hacking Lab
Learn How To Launch Attacks/Exploits Against Computers
How To Start A Cybersecurity/Ethical Hacking Career
How To Hack Into Wireless Networks
Learn How To Conduct Penetration Tests
How To Bypass Antivirus
The Fundamentals of Networking
How To Remain Anonymous On The Internet
The Fundamentals of Linux
The Fundamentals of Bash
How To Gather Website & App Data
The Fundamentals of Python
Maintaining Access To Exploited Computers
Website & Web Application Hacking
Mobile Phone Security Tips
Where You Can Practice Hacking For Free
Conducting Passive & Active Reconnaissance On A Network
Requirements
Basic IT/Computer Skills & Knowledge
Computer With At Least 8GB of RAM/Memory (Less is ok, but your computer may run slow!)
Wifi Hacking Section Only: USB Wireless Adapter (Link Provided In Course Resources)
You Do Not Need Any Prior Experience In Hacking Or Cybersecurity To Go Through This Course
Description
Welcome to â Learn Ethical Hacking From A-Z: Beginner To Expert Course! This practical, hands-on course was created for newbies â thatâs to say, people with no prior training or knowledge in hacking and cybersecurity. The aim of this course is to give you the education not just to understand what black-hat hatters do and how, but also to learn exactly how to hack systems like a pro and win the cat and mouse game by securing systems like a professional security expert.
Blending practical work with solid theoretical training, we take you from the basics of ethical hacking through to mastery, giving you the training you need not just to hack, but also to secure against a hack.
While the theory is important, we understand that it can also be dry and uninspiring. For this reason, this course is packed with examples that you can follow. This practical focus starts from the beginning, where we will teach you about penetration testing and show you how to install the software required (Windows, Linux, and Mac OSX) and jump right into hacking.
Throughout, you will analyze and exploit various systems from regular websites through to sprawling networks, along with hacking servers and clients. More than just hacking, youâll also learn how to conduct efficient penetration testing techniques.
This approach gives you the foundational education that you need not just to hack any given system, but also to secure it, with each module covering both sides of the coin. The course covers six main areas:
1: LEARN THE FUNDAMENTALS NECESSARY TO BECOME A HACKER
This foundational section gives you a full introduction to the basics of networking systems â how they communicate and work â and is designed to give you the knowledge you need to succeed in this course.
BASICS OF NETWORKING: Networking can be an intimidating topic, but donât worry! We break down only the necessary things that you need to know in regards to networking and teach you important networking fundamentals SETTING UP A HACKING LAB: You canât hack without a lab! We walk you step-by-step through the process of setting up your own hacking lab on your laptop or desktop computer!
LINUX + SCRIPTING BASICS: Hackers use Linux, which is an OS that the average person may have no experience with. We will go over Linux fundamentals so that you can easily navigate your way through Linux during this course. We also touch on a couple of scripting languages that are a MUST for any ethical hacker and teach you the basics of each one with practical examples.
HIDING YOUR IDENTITY ON THE WEB: If you are hacking on the internet, you need to learn how to remain anonymous. We will show you the tools and techniques that you can use to always remain anonymous and unknown on the internet.
2: LEARN HOW TO HACK NETWORKS
This section shows you how to test both wired and wireless systems. You will learn how to go from not having any access to a network to gaining access and being able to begin attacking systems on the network.
PRE-CONNECTION ATTACK: Not all attacks require you to be connected to the target or even know the password. Learn how to discover and manipulate devices connected to a network and gather information about your target.
GAIN ACCESS TO NETWORKS: Learn how to use the information you have about your target to crack the key and get the access password. This section covers multiple protocols including WEP, WPA, and WPA2.
POST-CONNECTION ATTACKS: With a key, you can now leverage powerful hacking techniques to get even more information. Learn how to see what users are doing on a network, inject code in pages, and more on wired and wireless networks
3: HOW TO GAIN ACCESS AND CONNECT TO NETWORKS
This section builds on the lessons learned in section one, showing you how you can get full control and hack into any computer system that you target. SERVER-SIDE ATTACK: Discover how to harvest information about your targeted system â its OS, open ports, and installed services â without user interaction. Then use this information to exploit vulnerabilities and generate reports.
CLIENT-SIDE ATTACK: Learn how to hack systems with no vulnerabilities by sneaking in with software updates or using backdoor trojan downloads.
Youâll also learn the art of social engineering â or tricking people into giving you information.
4: HOW TO LEVERAGE POST EXPLOITATION
This section shifts the focus on interacting with compromised systems. Now that you have gained access, youâll learn how you can exploit these systems.
ACCESS FILE SYSTEMS: All systems have a wealth of files that you can now manipulate with your access. Learn how to access these systems and how to read, write, upload, and even execute files.
MAINTAIN ACCESS: Gaining access to a system and its files is only half of the battle. Learn how to maintain your access and frustrate efforts to secure it again so you can continue to exploit a system.
SPY ON YOUR TARGET: Learn how to capture any keystrokes on a keyboard, turn on a computer webcam, take screenshots, and even take control of the system to attack, hack, and access third-party networks and systems.
5: HOW TO HACK WEBSITES AND WEB APPS
In this section, you will learn more about how you can hack into websites and web applications using Kali Linux. Youâll also learn how web applications work â and how to find vulnerabilities within these applications for you to exploit.
> How to scan websites/web applications for vulnerabilities to exploit.
> How to Brute Force into web applications.
> Learn how to conduct SQL injection in web applications.
> How to conduct Cross-Site Request Forgery (CSRF).
> How to exploit File Inclusion Vulnerabilities.
> Learn how to exploit File Upload Vulnerabilities.
> How to automate attacking web applications using various tools.
> How to prevent and secure websites & apps yourself.
6: HOW TO MAKE MONEY, LAND A JOB & BUILD A BRAND AS A HACKER
In this section, you will learn how you can make money as an ethical hacker using a variety of methods. Youâll also learn how to build your personal brand and get your name out there as an Ethical Hacker so you can have employers and clients knocking at your door ready to hire you for your services. Then finally, youâll learn how you can start a career in cybersecurity with some insider tips on what certifications to get and the best way to land a job.
This includes:
> How to build an ethical hacker personal brand from scratch
> How to get instant credibility and authority as a hacker
> Learn how to properly network and get others talking about you
> How to make money using a variety of websites
> How to get started freelancing as a hacker
> Learn how to get started consulting as a hacker
> How to land a job as a cybersecurity professional
This course is comprehensive, showing you both sides of hacking. You will learn to think and operate like a hacker â and how to apply that knowledge as a cybersecurity expert to protect you and your clientsâ networks and systems. In taking this âcat and mouse approach, your rounded understanding will give your approach new depths and angles, revealing the paths you can take to effectively neutralize any threat.
Together with the emphasis on practical examples that you can follow in real life with live systems, you will also benefit from the excitement of hands-on learning. By experiencing precisely what it takes to hack into any given target system, youâll also learn that no one system is the same and that all approaches can be modified.
This real-life learning is an invaluable part of your education, enabling you to better see what hackers are doing and how to block even the most potent attacks. No matter what the scenario or how complicated a hacking situation, this course gives you the foundational training you need to secure a network â and start pursuing a career in a field that is increasingly in demand as the global reliance on technology grows.
Download
To download more paid course for free visit free course site where you find 1100+ paid courses for free. You can easily access those courses with just a single click.
This year in JavaScript: 2018 in review and npmâs predictions for 2019
This study is adapted from my presentation npm and the Future of JavaScript. No data is perfect; if you have questions about ours you can read about the methodology used to gather this data.
npm has over 10 million users who download well over 30 billion packages every month. On an average Tuesdayânpmâs busiest dayâusers download more than 1.3 billion packages of open source JavaScript. This gives us a lot of information about what JavaScript users are up to. On top of that data, in partnership with the Node.js Foundation and the JS Foundation we survey of over 16,000 developers to ask what theyâre up to.
From these two sources, weâve uncovered some insights about the makeup of the npm community, as well as information about what the community considers to be best practices. This will help you make your technical choices in 2019.
JavaScript is the worldâs most popular programming language
Itâs no news to anyone that JavaScript is incredibly popular these days. Stack Overflowâs 2018 developer survey has JavaScript as the most popular programming language (with fellow web languages HTML and CSS at the #2 and #3 spots). GitHubâs most recent Octoverse infographic ranks languages by the number of pull requests received, and JavaScript is the top there, too.
The total number of JavaScript developers is hard to estimate. Slashdataâs 2018 survey suggests there were 9.7M by the end of 2017 and growing quickly, meaning there are well over 10M at this point. npmâs own estimates suggest there are over 10M npm users, and we see similarly rapid growth. There are JavaScript developers who do not yet use npm, but as a percentage of all JavaScript developers they are quite small, possibly fewer than 10%.
The npm Registry contributes to the popularity of JavaScript
Without question, JavaScriptâs popularity is driven by its ubiquity as the only language directly usable for developing web applications. However, a fascinating paper by Leo Meyerovich and Ariel Rabkin at Berkeley studied the factors contributing to programming language adoption and found that, overall, the availability of open-source libraries relevant to the task at hand was the most important factor in selecting a programming language.
Our own survey data support the conclusions of this study. The most common reason respondents gave for choosing JavaScript was the number of libraries available.
With over 836,000 libraries currently available, npm is the largest single collection of open-source libraries in the world, by a significant marginâalthough JavaScriptâs tendency towards smaller libraries means this comparison isnât entirely apples-to-apples. Regardless, this enormous reservoir of open source code means that the popularity of JavaScript and npm works both ways: the language gains popularity because of the Registry, and vice versa.
npm is used to build every kind of application
We asked users where the JavaScript they write is used. An overwhelming 93% of respondents said that they write code for the web, with a still-substantial 70% saying they write JavaScript that runs on servers, i.e., Node.js. However, many other application areas including Internet of Things (IoT), desktop applications, native mobile applications, and others saw substantial numbers of users, too.
This is a significant change for those of us who work at npm, Inc. and maintain the npm command-line tool. npm was invented to serve the needs of server-side app developers, and the needs of web developers are different. Becoming a majority-web platform has meant changing our priorities, which has ledto new features like package locking by default.
npm is essential to web development
When npm, Inc. started in 2014, a tree of a few dozen JavaScript packages was typical. These days, the average modern web application has over 1000 modules, and trees of over 2000 modules are not uncommon. In fact, 97% of the code in a modern web application comes from npm. An individual developer is responsible only for the final 3% that makes their application unique and useful.
This is a huge success story for code reuse, for the strength of the npm community, and for open source in general. The time saved by not re-inventing the code in thousands of modules is saving millions of developers hundreds of millions of coding-hours.
npm has focused on security in 2018
To a great many developers, npm has simply become the way you build a website. This is a responsibility we take seriously. In our survey, 77% of developers said they were concerned about the quality and security of the open source libraries they used, and a worrying 52% said the tools currently available were inadequate. We went into more depth on these results in our post Attitudes to Security in the JavaScript community earlier this year.
In April, we announced that we acquired ^Lift Security and their product, the Node Security Platform. Today, the NSP is integrated directly into npm, and every install of npm includes security audits that notify users if they are installing insecure modules. We also furnish tools to easily correct these vulnerabilities by automatically installing secure versions of their modules. In addition, users of npm Enterprise and paid npm Organizations users receive notifications of embargoed vulnerabilities not yet publicly disclosed.
The demographics of npm users
The basic demographics of our survey respondents are covered in our methodology post, but there are several important facts worth highlighting:
1. We are mostly new. 25% have been using JavaScript for less than 2 years, and 51% have been using npm for less than 2 years. This is a side effect of the community doubling in size in that time!
2. We are mostly self-taught. 69% of npm users mostly taught themselves JavaScript, with the next highest being 22% who learned on the job.
We donât just write JavaScript. People who use npm arenât always strictly JavaScript developersâ30% each report writing Java, PHP, and Python, and smaller numbers of lots of other languages.
We donât just work at âtechâ companies. 55% of npm users describe themselves as working at a company that wouldnât be considered a âtechâ company.
There are also some ways that npm users donât differ from the general population of software developers, which is itself interesting. For example, npm users work at every size of company, in roughly the same proportion as those companies exist. JavaScript isnât a âbig companyâ or a âsmall companyâ tech. npm users also are evenly distributed across every industry, as well as other demographics such as age and education level.
Everybody would like less tooling
JavaScript in 2018 is somewhat notorious for requiring a lot of tooling to get going, which is quite a reversal from the situation in 2014, when Node.js was considered an âeverything includedâ framework. Today, most developers wouldnât consider Node to be a framework at all. True to that, all of our survey respondents would like to see less tooling, less configuration required to get started, and better documentation of the tools that do exist. But what tools?
We went in-depth into the popularity of JavaScript frameworks in our âState of JavaScript Frameworksâ series (part 1, part 2, part 3) earlier this year. We wonât reiterate all the findings of that analysis, but rather dive into a few updates of whatâs changed in the 9 months since then.
As a reminder, itâs important to understand the âshare of registryâ metric we are using here: a âflatâ graph in this case means strong growth, just not growth relative to the growth of the registry, which is always growing quickly.
Reactâs growth has slowed
React continues to dominate the web scene. Over 60% of npmâs survey respondents say they are using React, and it has grown further since then. However, that growth in 2018 has been slower than in 2017.
Angular downloads have stayed flat
The two major flavors of Angular combined have stayed roughly flat in terms of market share.
Emberâs popularity has rebounded
In a very unusual phenomenon, Emberâs popularity, which appeared to be declining, has continued a strong rebound. By September, more than twice as many developers were using Ember as at the beginning of the year. Weâre going to keep a close eye on this story, but we think Emberâs resurgence is part of the explanation for the slowdown in React.
Vueâs strong growth has continued
Vue was already growing quickly and that continued in 2018. Many Vue users report that they picked it over React because in their opinion itâs easier to get started while maintaining extensibility. Our current theory is that Reactâs growth has been slowed by many newer users picking Vue.
GraphQL continues hyper-growth
GraphQL, tracked by its most popular client library Apollo, continues to explode in popularity. We think itâs going to be a technical force to reckon with in 2019.
Transpilers rule, led by Babelâand a surprise: TypeScript
Babel is familiar to any React user as the tool used to transpile Reactâs next-generation JavaScript into the currently-supported JavaScript standards. In line with Reactâs 60% market share, 65% of npm users report using Babel. (It also has uses outside of the React ecosystem.)
Something of a surprise, however, was TypeScript, with 46% of survey respondents reporting they use Microsoftâs the type-checked JavaScript variant. This is major adoption for a tool of this kind and might signal a sea change in how developers write JavaScript. We are definitely going to be asking more questions about TypeScript usage in the next version of our survey.
npmâs predictions for 2019
Itâs always difficult to make predictions about an ecosystem as huge, varied, and fast-changing as JavaScript, but our data has led us to make a few predictions for 2019 that we think we can commit to.
1. You will abandon one of your current tools. Frameworks and tools donât last in JavaScript. The average framework has a phase of peak popularity of 3â5 years, followed by years of slow decline as people maintain legacy applications but move to newer frameworks for new work. Be prepared to learn new frameworks, and donât hold on to your current tools too tightly.
2. Despite a slowdown in growth, React will be the dominant framework in 2019. 60% market share for a web framework is unheard-of, and thatâs partly because React isnât a full framework, just part of one. This allows it to flexibly cover more use-cases. But for building a web app in 2019, more people will use React than anything else, and that will result in a big advantage in terms of tutorials, advice, and bug fixes.
3. Youâll need to learn GraphQL. It might be too early to put GraphQL into production, especially if your API is already done, but 2019 is the year you should get your mind around the concepts of GraphQL. Thereâs a good chance youâll be using them in new projects later in the year and in 2020.
4. Somebody on your team will bring in TypeScript. 46% adoption implies that TypeScript is more than just a tool for enthusiasts. Real people are getting real value out of the extra safety provided by type-checking. Especially if youâre a member of a larger team, consider adopting TypeScript into your 2019 projects.
Stay tuned
One prediction weâre very confident in making is that this community will continue to rapidly grow and expand the capabilities of JavaScript. As it grows, weâll be documenting new trends and sharing our insights with the community. You can follow along by subscribing to our weekly newsletter and following us on Twitter. Â
Why Ionic Hybrid network becoming more popular day by day
Introduction of Ionic Framework
Ionic is a complete open-source SDK for hybrid mobile app development created by Max Lynch, Ben Sperry and Adam Bradley of Drifty Co. in 2013. Ionic is worldâs most popular cross platform mobile development technology. Basically itâs hybrid mobile app development framework. Using Apache Cordova, it can be easily run on mobiles. A big advantage of using Ionic is that the code base remains the same for all mobile platforms and the UI/UX looks like a native mobile platform. The good news is: if you can manage to create websites, you already know how to build mobile apps. Ionic Framework offers the best web and native app components for building highly interactive native and progressive web apps. It is the only mobile app stack which allows developers to design apps for all app stores and the mobile web, using an unique code base. Moreover, Ionicâs Platform Continuity guarantees your app will look superb on every single device. Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and Sass. Apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by leveraging Cordova.
Benefits of Ionic Framework
Platform Independent Framework- Ionic can recognize the platform specific advanced CSS proportional to the native look and feel on different mobile operating systems. It reduces the requirement for code changing as it gives the codes of mobile-optimized HTML, JS, and CSS components. Apart from this, ionic integrates into Angular JS which becomes a robust structure making code excellent as well as more manageable. This empowers the Start-up entrepreneurs to come out with newer concepts at reduced budget.
Cross-Platform Mobile App Development with Ionic- Building an application without a moment's delay is essential, and it should be compatible with all mobile devices. However, it needs extremely limited use of time, assets and efforts, and helps in giving a unified look and feel. Besides, Ionic helps with building applications quickly and with expertise, and deploys standard tools with a solitary code base.
Default User Interface- Ionic has many default CSS and JS parts that cover the vast majority of the basic things you need to make a mobile application. . Apart from regular ones like buttons and navigation it also includes form inputs, lists, cards, sliding boxes and many more. These can be easily customized by adding CSS classes to the element. The default styles are basic, smooth, and you can without a doubt redo them by adding pre-defined CSS classes to the component.
Based on AngularJS- If youâve worked upon Ionic, and then you would likely realize that it is developed on top of the Angular JS framework. The extensions to HTML's sentence structure offered by AngularJS are extremely useful for mobile app designers. The Ionic structure utilizes AngularJS to offer a bunch of center functionalities to the designer with the goal that they can incorporate alluring components into the application. Â AngularJS is an ideal approach to make program based applications, while with the assistance of the Ionic structure, versatile designers can make hybrid applications and web applications.
Utilizes Cordova Plugins- Plugins play an essential part in Ionic application development. Modules are coded in JavaScript and come appended to the application. Ionic framework application development utilizes Cordova plugins to help designers in accessing different components of the versatile framework- for example, camera, GPS, and so on. According to your business and offered administrations, mobile app developers can utilize any of these modules to build their ideal mobile application.
There are a few good reasons to go with Ionic, depending on what you would be using it for:
1. Ionic use Angularâs MV* paradigm: If you are a web developer and want to be able to compete in the mobile space Ionic is great for you. Ionic uses HTML and CSS to lay out its views, so not only will you have all of the power of CSS transitions and canvas drawing, but you will also feel at home with the DOM. If youâve ever used Angular in production, this will be doubly true for you, because the logic layers of Ionic use Angularâs MV* paradigm.
2.Desktop support: Ionic has added a flexible grid, and split-pane type features, allowing you to build mobile-first apps with responsive desktop layouts.
3.Open Web Standards: To paraphrase one of their founders, youâre betting on the open web, rather than getting stuck learning single-platform technologies that donât carry over. (e.g. Learning CSS and DOM layouts versus Xcodeâs autolayout)
4.Progressive Web Apps: This is a big trend on Google and Ionicâs radar, and it seems like Ionic is uniquely positioned to let you build app-class web experiences that can also be published in the App Store.
5.If you are bootstrapping a start-up and want to cut development time and cost by leveraging existing skill sets, Ionic is one of the best choices. Ionic creates apps for iOS, Android and Windows. It has default CSS that changes between versions for a Native experience. And all this can be done in JavaScript which is one of the most common programming languages known by developers now because of its ubiquity on the web. There are other frameworks around now that can achieve this in different languages, but most of them are not as popular or have as much support. So unless you have a specific reason you need to use python, Ruby, C++, Java etc. stick with Ionic or React Native in JavaScript or Xamarin in C#. Those are the most mature communities for cross-platform apps.
6. If you are new to web/mobile development the skills you will learn making things with Ionic will take you a lot further than what you will get with native. JavaScript is everywhere. It is more popular than Swift, and more importantly, it can be used for a lot more things. Java is really popular as well, but in my opinion, JavaScript seems to be slowly taking over Javaâs position in the web development world. Companies that were built on java will stick around for a long time, but many new ones are being built on stuff like JavaScript, Ruby, Go and the like. And yes that list will be different in a few years, but Java will not be making it back on, and JavaScript will be the longest lasting one that is around for now.
7.Ionic Community: Thereâs a community of over 30,000 members on the Ionic forum, an active Slack Channel, and Ionic is the 45th or so most popular/starred repo on Github.
How to Install Ionic Framework
Make sure you have an up-to-date version of Node.js installed on your machine. If you don't have Node.js installed.
Open the command prompt and verify the Node.js version by using the command node -v.
To install Cordova and Ionic, use - npm install -g cordova ionic.
Make sure to install the latest version of JDK and Android Studio IDE for Android development.
To create a new project, use - ionic start projectname template.
Inside the project folder, you can add Android/iOS platform based on your development using the command - ionic cordova platform add android.
After these code changes are done, you can generate the required .apk file with the command - ionic cordova build android.
Once the .apk file is generated successfully, you deploy the file on a real device and do the testing, or you can test it as a web application using a browser.
To run it in a browser, use - ionic serve.
To run it on a device, use - ionic Cordova run android -device.
Finally, play with Ionic!
Comparison between Ionic Framework to Others Framework like PhoneGap
Enable features, such as push notifications, A/B testing, analytics, Code deploys and Automated builds.
PhoneGap-
Open source
Itâs Javascript, HTML and CSS
Cordova is an engine which runs Ionic
Lack of pre-built UI widgets
Application type: Native
Supported Platforms- Apple IOS , Bada, Â BlackBerry, Firefox OS, Google Android, LG webOS, Micresoft Windows Phone (7 and 8), Nokia Symbian OS, Tizen (SDK 2.x) and Ubuntu Touch.
Enable features, Such as internet connectivity validation, Animations, List view, Facebook SDK support, Push Notifications, Device Detection, and Geolocation.
According to Google Trends Ionic has gained its popularity day by day till 2018 where as other Frameworks fall down compared.
To get more details about this technologies you can contact us through our website www.webhawksindia.com
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch âą No registration required âą HD streaming
PyGame is a nice library for getting started with game development. It is a good way to learn programming in a "real programming language" while making games1. There is very "magic" going on in PyGame, and you can go from print("Hello World") to drawing a triangle on the screen and then to Pong or Tetris with a smooth learning curve.
PyGame is also an easy way to get your feet wet in game development if you know and use Python already, for example in machine learning or web development. That's how I came to learn PyGame.
2 Why Not?
PyGame is just a low-level library for creating windows, drawing on the screen, reading joystick input, and playing sounds. OpenFL, Löve2D, FNA and LibGDX fill similar niches in the Haxe, Lua, .Net and Java ecosystems, respectively. If you want a full-featured engine, use Unity3D, UE4, or Godot. If you don't want to learn to code, you will probably fare better with GameMaker or Stencyl2. If you want to tell an interactive story with little actual gameplay, maybe Twine or Ren'Py are more your thing.
3 Explicit Is Better Than Implicit
Maybe PyGame is not for everybody⊠However, if you do just want to make small 2D games, and don't want to rely on automagic functionality, PyGame could for you. That means you have to code your own game loop3, poll the keyboard or game pad, and update the screen yourself.
Your game loop will look something like this:
import pygame pygame.init() # ... # setup stuff here screen=pygame.display.set_mode(screen_size) clock=pygame.clock.Clock() running=True while running: clock.tick(30) events = pygame.event.get() keys = pygame.key.get_pressed() for e in events: if e.type==pygame.QUIT: running=False elif e.type==pygame.KEYDOWN and #... # handle jumping etcetera # ... # move sprites around, collision detection, etc # ... # draw pygame.display.update() pygame.quit()
The ease of just drawing pixels on the screen and the lack of hidden features sometimes makes it harder to get started making certain games genres. If you start from scratch in Unity3D, you already have a level and a camera and you can just create a sphere GameObject and check a box to enable the physics engine. If you draw a circle on the screen in PyGame, it's just pixels on the screen. These pixels don't know anything about cameras, raycasting, or physics, so if you want to move the view around, make your circle clickable, or have it bounce off walls, you have to connect the systems yourself. PyGame gives you tools to check for collisions, a Sprite class that is the closest equivalent to GameObject, and a way to find out where on the window the mouse was clicked.
If you want to use a pre-made physics engine like Box2D, or roll your own, you have to write some glue code, but PyGame will stay out of your way.
This can even be a tremendous advantage when you want to make a game like Tetris4, or like SimCity, where you don't want to use 3D collision detection and a physics engine anyway, and collision detection happens on a grid. A game like Braid, where you can rewind the entire game state, will also be much easier if you have full control over your game loop. You can do all these things in a big and opinionated engine, as Hearthstone (a card game made in Unity3D) has showed us, but if don't need these features, you sometimes have to code around them. If you code around features you don't need, or re-build your own systems on top of a commercial engine, you might end up writing more code than if you had just started from scratch5.
All of this goes double for tools like PuzzleScript, RPG Maker, GameMaker, Bitsy or Twine. These are all geared towards certain kinds of games, and while they make it really easy to make that kind of game, they make you jump through hoops if you want to build anything else.
4 Three Pain Points
Although I just told you that PyGame is a great library, it is not as popular among game developers as it should be. This is mostly due to three problems dating back to the Python 3 days: multi-threading, deployment, and HD screen resolutions.
Multi-threading: Due to the GIL, an unfortunate implementation detail in CPython6, you can't have two threads execute Python code at the same time. That means your multi-threaded Python programs will still run in parallel, but there will only ever be one thread running at any time. On a single-core machine, there is not that much to worry about, because you only have one core that can run code anyway, but on a multi-core machine, you can't really take advantage of the additional cores. Still, what you could do is have one thread handle input and draw to the screen, while another, long-running thread does complicated enemy AI calculations that take longer than one frame to complete. That won't make your code run any faster in aggregate, but it will can at least ensure that the tick-input-update-draw cycle of the game loop runs at a smooth frame rate while the AI takes a lot of time.
If you're using i/o operations from the Python standard library, long-running numpy code or clock.tick(FPS) in PyGame, these libraries do the right thing and tell the Python interpreter that they are entering a section of native code during which Python code can safely run in another thread. But in general, you could have a Python function that calls native code that doesn't return for a while, so the Python interpreter is executing the same line of Python and other threads can't run. If that bit of native code is waiting for input, your whole program will freeze until the input arrives, even if you have ten other threads waiting that could do useful things in the mean time.
There are two modules to help you with concurrency in Python 3: multiprocessing and asyncio. The first has been around since Python 2.6, and lets you execute Python code in another process. This is useful if you have long-running computations like enemy AI that you want to run on another core. The other, asyncio is new in Python 3.37. With asyncio, you can run multiple coroutines in the same thread. A scheduling object called an event loop will execute coroutines piecemeal whenever there is input available. Because asynchronous coroutines are basically Python functions with some extra syntactic sugar, you can have tens of thousands of them running at the same time, unlike processes or kernel threads, which need a comparatively large amount of RAM to create and some time to context-switch. The use case for asyncio is pretty much the opposite of the use case of multiprocessing: Lots of threads8 waiting for i/o instead of long-lived processes that crunch numbers.
Deployment: There used to be no simple and easy way to package Python 2 games for end users. Sure, you could ask them to install python, either from Python.org or from the package manager of their choice, and give them the source code. Or you could use py2exe or py2app and create portable versions of a python script, but you couldn't build Windows, Mac and Linux executables from the same configuration file, and only on the respective platform. There were multiple competing standards for packaging python modules as source distributions: distutils, setuptools, distribute, and distutils2.
In the mean time, a smart person invented cxfreeze, which would automatically package every single dependency, every resource file and library used by your program, into one big archive. Unfortunately, that approach tended to pull in a bunch of DLLs that are already present on most end users machines. You also need to have the script already running on the target platform to analyse the dependencies at runtime.
With Python 3, setuptools has won, and the others have been merged into it9. There is a new file format for packaging Python modules called wheels10, that lets users install modules with native code without a C compiler. PyInstaller11 lets you build self-contained, portable versions of scripts on Windows, Mac or Linux based on the specification, and pynsist12 lets you create a windows installer for a Python script from any platform, because it downloads windows-compatible wheels and includes them without setting up a cross-compiling environment. The Panda3D project is even working on a cross-platform binary packaging system for Python 3 games based on setuptools!
HD screens: The software-based rendering in PyGame gets slower proportionally to the number of pixels. If you draw a 16x16 character sprite onto the screen, that makes 256 pixels. If you blit a background picture into a 640x480 (VGA) window, that's 307200 pixels already. If you scale that window up to 1280x960, that's four times as many pixels, and 1080p full-HD resolution has 6.75 times as many pixels as VGA. Things that were quite fast at low resolutions become a real bottleneck on HD screens, and you really feel the burn when you run PyGame on devices with a slower CPU and a HD screen, like a phone or a Raspberry PI.
Even if you run your game logic at a low resolution, and just scale up the screen to HD with pygame.transform.scale in the final step, that still means moving lots of pixels around in software. Scaling your game up to full-screen on a HD display can easily take the majority of your processing time. And remember, we effectively have only one core!
If you could copy your 320x240 surface into a texture and scale up your pixel art with the GPU, you eliminate a major bottleneck. The GPU is surprisingly fast and energy-efficient in phones, tablets and on the raspberryPI.
Fortunately, instead of directly drawing pixels into your window, PyGame can give you an OpenGL context and let you use whatever OpenGL bindings you like. In the past, that would have been with PyOpenGL, or pyglet. With Python 3, we can use ModernGL. ModernGL is much simpler than the other two. It targets only modern versions of OpenGL. Unlike PyOpenGL and pyglet, there is no support for immediate mode or the old fixed-function pipeline. You have to use vertex buffer objects and custom shaders. It's fast, and it lets you do fancy post-processing effects in addition to scaling.
If you need more performance, or fancier effects, you can incrementally transition from drawing into PyGame Surfaces towards creating individual textures for your Sprites and rendering directly with OpenGL.
5 Other Cool Libraries
The missing level editor: Tiled13 is a great level editor. You can use PyTMX14 to read the maps files, and pyscroll15 to render them.
Discord Rich Presence: All the cool kids are on Discord16. With pypresence17, you can let your player's friends know what the game is called, which level they are on, and how many points they have scored. It definitely beats having "now playing Python3.exe" as your Discord status line.
Creating Videos: moviePy18 gives you a simple API to create, load and edit GIFs, WEBM and other video file formats.
6 More To Come
The problems I used to have in PyGame haven't disappeared, but in 2018 and with Python 3.6, they have become solvable. It is possible to started making games with PyGame, and to polish and deploy them on Steam and itch.io. There used to be a tool to deploy PyGame to Android phones and tablets, but that was based on Python 2.7 and some hacks to get everything to run. With the current effort to port PyGame to SDL2, we can soon deploy games written in PyGame to Windows, Mac, Linux, Android and all major consoles, which support SDL219
This post is longer than I thought already, so I'll take a break here. In the coming days I will write more about using the asyncio module to do i/o in PyGame without tanking your frame rate, using the moderngl module to scale up your pixel art, and trying out deploy-NG, a setuptools extension from Panda3D to distribute games to end users.
Footnotes:
1
I recommend Al Sweigart's tutorials at http://inventwithpython.com/, and http://inventwithpython.com/pygame/
2
Maybe you want to start designing games first instead of learning to program, so you start out with these tools, but I would recommend you learn at least a little bit of a real programming language as well, to get some perspective. If you learn C#, which is a real programming language, together with Unity or Godot, please look up which features are part of C# and which are unique to your engine.
3
To avoid common pitfalls with game loops, read these: http://www.koonsolo.com/news/dewitters-gameloop/ and https://gafferongames.com/post/fix_your_timestep/
4
I am speaking from experience here. We made a Tetris-like game in Unity, and it was not worth the trouble. You can see the result here, but it's nothing special: https://blubberquark.itch.io/tetrominions
5
Please don't write an engine from scratch! People like Jon Blow, Tommy Refenes, John Carmack, David Pittman or Notch wrote their own 3D engines for various reasons. That said, if you actually need a big 3D game engine for your game, please don't write your own on top of PyGame. You are not John Carmack (unless you are, in which case you should stop reading this because you know more about programming than I do). Use Panda3D or Godot if you want something that is open source and Python-based (Godot Python support is still in beta, but getting there). Or use one of the commercial engines listed above.
6
I'm simplifying massively here. Look up the Global Intepreter Lock if you want to know more. The GIL also allows PyGame to call SDL functions without worrying too much about whether SDL is thread-safe. It's not all bad.
7
Only with Python 3.5 it has become really usable, though, and they are still working out the kinks in the API.
8
I mean that as in lightweight threads, Erlang threads, green threads.
9
You can still find distutils in Python 3 for backward compatibility reasons.
10
http://pythonwheels.org
11
http://www.pyinstaller.org/
12
https://pynsist.readthedocs.io/en/latest/
13
https://www.mapeditor.org/
14
https://github.com/bitcraft/PyTMX
15
https://github.com/bitcraft/pyscroll
16
It manages to combine the good parts of Skype, Slack, and TeamSpeak, but it's not open source. https://discordapp.com/
17
https://github.com/qwertyquerty/pypresence
18
https://zulko.github.io/moviepy/
19
SDL2 already runs on the Nintendo Switch, for example. Unfortunately, the licensing terms of the Switch developer kit prohibit you from publicly sharing code that targets the Switch API in public. You have to contact Ryan Gordon and ask him for access, after signing the NDA. I am not a lawyer, this is not legal advice, but as far as I understand it, although the licensing terms of PyGame and SDL allow you to share the code, Nintendo could still sue you for breach of contract. That problem is not unique to PyGame though. A similar workaround exists in the Haxe world, where you have to contact Lars Doucet to get access to a version of OpenFL for Switch. There is also a homebrew version of Python available at https://github.com/nx-python/PyNX, but the NDA might prohibit you from using homebrew and reverse engineering.
DJANGO:-
There is support for Python 3.4 on Django, which was designed to leverage a lot of native Python rather than using third-party frameworks and libraries. Django makes use of controllers known as "Views", although it is an MVC framework. The Views controllers contain the logic that processes user requests and returning responses. Django uses an Object Relational Mapper, or ORM, to map objects to database tables. This is quite different from web2py which uses a Database Abstraction Layer, or DAL, to map objects to tables, queries, and records. The code works with various databases and improves portability between different types of databases. It works with PostgreSQL, MySQL, Oracle, and SQLite, and other databases can be utilized with third-party drivers too. It's not a CMS like Joomla, WordPress, or Drupal. With Django, you do need to write code in order to create your website - although of course, this can be handled at the Nestack offshore development center. Popular and highly trafficked sites like Pinterest, Instagram, Disqus, and Mozilla all use Django. With the help of Django, you can build web applications up from a basic concept to a launch within just a few hours. It takes a lot of the effort out of web development, making it easier to create your app without fussing with a lot of confusion. Django is also open-source and free.
Super fast: Django is designed so that it helps developers bring their applications from concept to completion in the fastest possible way.
Fully loaded: Django comes with dozens of extras that can be used to take care of common web development needs. Django handles user authentication, site maps, content administration, RSS feeds, and so much more. It does all this directly out of the box.
Highly secure: Django is serious about security so it makes it easy for developers to bypass a lot of common mistakes they might make with security, for example cross-site scripting, cross-site request forgery, SQL injection, and clickjacking. The Django user authentication system makes it easy to securely manage your user accounts and passwords.
Totally scalable: Django is used by many of the world's most highly trafficked websites to provide fast, easy, and flexible scaling to meet changing traffic demands at the highest level.
Brilliantly versatile: Django is used by various organizations, businesses, and governments. They can build all manner of things, from social networks to scientific computing platforms to content management systems.
PYRAMID:-
Pyramid helps to make it easier than ever to write web apps. Start from the basics with this "hello world" web app which is minimal and works on a request/response basis. This can take you a long way, particularly if you're still learning, but can also make it easy to write more advanced software as your application grows thanks to its range of helpful features. Pyramid can run in all supported versions of Python and comes with helpful installation instructions to help you get Pyramid ready to run. There is a handy tutorial to take you through the process of writing single file applications, forms, database integration, and authentication. Developers can go deeper into the narrative documentation or broad API reference which Pyramid includes. Pyramid also offers you a whole pool of useful resources to help you use it. Extending Pyramid functions as a filterable and well-organized group of packages, add-ons, and applications which work with Pyramid.
When You Need Pyramid: Megaframeworks make all of the decisions on your behalf. This can lead you to fight their decisions if your ideas don't fit their point of view. Microframeworks don't force any decisions, making it easy for you to get started. When your application grows, however, it's all up to you and you're on your own. Whichever you're using, the main focus is on the beginning of the process: there's either too much, or not enough. Whatever the case, it's hard to complete your project and keep it finished. It's best to use an end-focused framework with architecture that scales down to help you get started and then scales up as your application is growing. Pyramid was created with this in mind, as the Goldilocks frameworks - it's not too big, not too small, but just right. It's the Start Small, Finish Big, Stay Finished Framework.
TORNADO:-
Tornado is an asynchronous networking library and Python web framework which was first developed at FriendFeed. Tornado is highly scalable up to thousands of open connections because it uses a non-blocking network I/O. This makes it an excellent framework for WebSockets, long polling, and various other applications which need long-lived connections to each user.
FLASK:-
Flask is a Python-usable microframework that is based on Jinja 2 and Werkzeug.
WEB2PY:-
Chicago-based Massimo Di Pierro, a Professor of Computer Science, is the lead developer of the Web2py platform. It offers fantastic documentation which includes a 600-age PDF giving an introduction to Python. It's an excellently complete platform. There are answers to everything in the web2py documentation so it's a great option if you're new to Python Web development. The security is built-in, giving you sets of generated forms with field validation. Sessions are stored on the server-side which means that there's no point in attempting to tamper with cookies. The database support includes built-in SQL generation that covers ten of the most popular databases as well as the Google App Engine. Web2py is based on the MVC architecture and generates html from code rather than messing with PHP embedded tags. You can use a complete free administrative interface as soon as you've defined your models. There isn't Python 3.x support just yet, although it is apparently in the works. However, it is still an excellent web framework if you're looking to outsource a project using Python 2.7.
BOTTLE:-
Bottle works as a single file module with no dependencies aside from the Python Standard Library. It's a quick, easy, and lightweight WSGI micro web framework for use with Python.
âą Routing: Support for strong, dynamic URLS via requests to function-call mapping
âą Templates: Quick Python template engine built-in to allow support for templates from cheetah, jinja2, and mako.
âą Utilities: Easy access to form data, file uploads, headers, cookies, and a variety of other HTTP-relevant metadata.
âą Server: HTTP-development server comes built-in and includes support for fapws2, bjoern, paste, gae, cherrypy, or whichever other WSGI-enabled HTTP server you might want to use.
How To Make A Basic Discord Chatbot For Absolute Beginners
(by an absolute beginner who spent a full day blundering around and somehow made a functioning chatbot. for @tiigre)
This is a guide on how to make a basic chatbot that functions like a Magic 8-ball i.e. picks a random response when called up on text chat.Â
NOTE: This chatbot uses Python. This guide assumes you donât have any programming experience, but to make the bot more complex youâll have to read up on both Python and Discordâs Python API Documentation.
WHAT YOU NEED
- An admin user account on a computer with Windows.
- A Discord account which is an admin for a server (even a server purely for testing bots)
Video Reference (not mine): https://www.youtube.com/watch?v=u6tBvQSXJ7I
PART 1: SETTING UP
STEP 1: Download the latest version (3.4+) of Python here (including IDLE) and install.
STEP 2: Download the Discord Python API here and unzip. Save the file in the same folder as the (installed) Python application.
STEP 3: Add Python to the PATH variable. (Note: the exact links may be a little different in versions of Windows that arenât 10.)  This video is a very clear visual explanation but in simple text terms
- Open Control Panel, go into System and Security > System > Advanced System Settings > [Advanced tab if not already there] > Environment VariablesÂ
- Click on the âPathâ line in the top box, then click âEditâ.Â
- If you havenât already made a new path variable, âEditâ should open up a window with only one editable line- make sure thereâs a semi-colon ; at the end of the location already there, as it separates entries. If âEditâ brings you to a larger window with a list of locations in the computer, click âNewâ.
- Open up File Explorer and find the location of your Python application. Copy this into the Edit window. Assuming you saved it in the default place, it should be something like
- Click OK when youâre done. You can close all the windows you just used.
STEP 4: Open up Command Prompt on your computer (search for cmd) and install the Discord library by typingÂ
python -m pip install discord.py
or alternatively
python3 -m pip install -U discord.py
and hitting enter. You should be able to see it installing.
PART 2: WRITING THE BOT
This Bot is called with !talk, responding to a question if one is asked, or making another comment otherwise.
It functions by having numbers allocated to several quotes (split into comments and answers). The program determines if the caller has asked a question or not, and therefore whether it should respond with a comment or an answer. It then picks a number at random and returns the associated quote.
STEP 5: Open up IDLE and go to File>New. The following code will make a basic chatbot as described above (indentation matters!):
import discord
from discord.ext import commands
import random
bot = commands.Bot(command_prefix="!")
@bot.event
async def on_ready():
  print("Bot logged on: " + bot.user.name + "//" + bot.user.id)
@bot.command()
async def talk(arg=âwhateverâ):
  talkdict = {0: "Should we gather for whiskey and cigars tonight?",
        1: "Damn, I need to pee.",
        2: "Think you'll get your own squad after what happened last  night?",
        3: "Things are bad. Could the city get any worse?"
        }
  answerdict = {0: "Indeed, I believe so.",
         1: "Blow off, choffer.",
         2: "Never doubt it.",
         3: "Chances are very good.",
         4: "Bug someone else."
         }
  randomtalk = random.randrange(0, len(talkdict))
  randomanswer = random.randrange(0, len(answerdict))
  if arg and arg[-1] == "?":
    await bot.say(answerdict[randomanswer])
  else:
    await bot.say(talkdict[randomtalk])
bot.run("{Token}")
Tweak/rewrite as needed and save, making sure itâs a Python file (.py). Like the Python API wrapper, itâs probably best to save this in the same folder as the Python program (which is the default location anyway).
Some explanations of whatâs been written above (feel free to skip this section):
- First chunk: importing the modules you need for the bot to function.
- Second chunk (single line): setting the sign you want to call up the bot e.g. if you wanted your bot to respond to /talk instead of !talk, youâd replace the exclamation mark with a slash.
- Third chunk (@bot.event): defining what Command Prompt will say when you run the bot.
- Fourth chunk (@bot.command()): defining the actual thing you want your bot to do. In this case, âtalkâ is the function name and âargâ is the functionâs argument i.e. the input. So, on discord with this bot running, !talk[space]argument would get a response from the bot. =âwhateverâ is setting a default for the argument so your code wonât fail if you have put no argument at all. If you want multiple functions, just add a second @bot.command() chunk with a different function name.
- Sub-chunks âtalkdictâ and âanswerdictâ both define a type of variable called a dictionary, which is more or less like an actual dictionary. They take the form of {key: value, secondkey: secondvalue}. Keys must be different from all others in the same dictionary. As this bot works by generating a random integer (the key) and spouting the assigned value, each key is a number and each value is what you want the bot to say, in quotes.
- Sub-chunks ârandomtalkâ and ârandomanswerâ both pick a random number between 0 (inclusive) and the number of entries in the dictionary (non-inclusive). So in this case, randomtalk can generate numbers 0, 1, 2 and 3 as there are 4 entries in talkdict.
- Sub-chunk beginning with âifâ creates the condition for the bot to pick a line from answerdict- presumably when the caller is asking a question. Due to the way Python works, a single argument is either one word, or several words within quotes. So you would get a line from answerdict if the call wasÂ
!talk ? or !talk question? or !talk âquestion with many words?â
but not if the call wasÂ
!talk question with many words?
- âElseâ sub-chunk is fairly self-explanatory: if the argument is determined not to be a question according to the âifâ condition, then a random line is chosen from the general âtalkdictâ dictionary.
- The final line will connect your bot to Discord, but donât worry about what {Token} is yet as weâll put that in in the next part.
- bot (all lowercase), arg, talk, talkdict, answerdict, randomtalk and randomanswer are all variables; that is, they are names that are assigned values. So, they can be named anything made up of letters and underscores and the code would work the same way, as long as you replaced (for example) every instance of âtalkdictâ with âblahâ.
- Anything within quotes can be changed without causing a crash.
PART 3: RUNNING THE BOT IN DISCORD (LOCALLY)
STEP 6: Go to the Discord Developer site in your browser (link). Log in and click âMy Appsâ on the side if you arenât there already.
STEP 7: Add new app, give your bot the name you want to be visible to others. You can optionally add a description and icon. Click âCreate Appâ.
STEP 8: Click âCreate a Bot Userâ and confirm your choice. Press âclick to revealâ next to Token. Copy this token and paste it into your code where it says {Token} and save your file.
STEP 9: Save changes to your app (down the bottom). Scroll back up and copy the botâs Client ID. In your browser, go to
(replacing {ClientID} with the actual ID, of course). Choose which server you want the bot to run on, then authorise. In the Discord server, you should now be able to see your bot as an offline user.
STEP 10: Run your .py file (with Command Prompt or opening with File Explorer, not editing in IDLE). A window should open, saying whatever you told the code to print in the @bot.event part. In Discord, you should see your bot pop online in the server and you can now chat with it as long as that window is open!
This local setup is great for testing your bot, as you can easily make changes to your code if it doesnât work like you wanted- just edit your file in IDLE, save and run the bot again. However, a drawback is that people can only interact with your bot if your computer is currently running it. A conveniently free way to keep your bot running all the time is hosting it on Heroku. I have dedicated a second post to setting this up.
Please let me know how well this guide works (I wrote this a couple of weeks after making my first bot, so some of the installation steps in Part 1 may not be 100% correct). Iâll also do my best to answer any questions you have!