So, I am completely new to programming. I've been learning basic Python over the last couple weeks. I've always wanted to learn a programming language but right now my primary reason for delving into it is to Create an AI program for my man cave. Here are my Ideas which I am sure have been thought of many times before. They are just my goals:
I would like to take a pre-established open source chat bot and tie it to a Natural Language process to give it the ability to convert my speech to a text command that it can execute and at the same time take its text output and filter it through an audible speech sample (very much like SIRI). This way when I have the function of Natural Language response on, I can have basic conversations with it. I can also turn the conversational aspect off via a voice command so that the only thing it responds to is direct commands (e.g. "Gerard, please open an email, execute. Recipient, logan.wolf.ypher#gmail.com, Subject, Hello World, Body, insert text i speak.)
I would also like to have it recognize that I am there when my phone attempts to connect to the wifi.
I know that this may be a bit complicated for me at the moment but I hear the best way to learn a language is to jump on into a project you enjoy.
Does anyone have any pointers on where to start looking for a base AI or just any tips in general that you wish to give me? I'd appreciate the info very much. Thank you.
-Logan
Considering that So, I am completely new to programming, I would recommend you take a smaller part of this project and successfully implement it. For example, an email account which is checked every 1 minute and you can send textual commands to it. From there, start upgrading it to use chat, cell phone, speech-to-text, and lastly, AI. I only say this because I know the diffulculty of starting a too-ambitious project when I am new at an area (electronics, engineering, programming, language, etc...) and fail. Success, even in small steps, is better!
Related
Ok, so I'm a total noob with aspirations of learning to code. I've read about a guy who, for example, wrote a script which, if he was at work past a certain time, would automatically send a text to his wife stating he would be late. I want to do something sorta similar.
What I want in essence is a script that will log in to a website at a certain time of day, check if a box/text is green/yes or red/no, and send a text or notification to my phone informing me of the result each day.
The progress I've made so far is installing Python, installing PyCharm and done some research about tools I could use toward achieving my goal. Selenium seems like it would be capable of logging into the website, but I've no idea how to go about setting up a conditional statement to check the result, nor how I could set it up to send a text/notification to my phone. Also, if there is a more appropriate tool I should look into rather than Selenium and Python, I'm not attached to the idea of using these specific tools.
Finally, I realize that this may end up being too complicated for a first project, so I'd be up for hiring a freelancer to set this up. Equally, if this is something that could feasibly be written by someone with very little knowledge of coding such as myself, I'd really appreciate some direction from an expert!
Thanks for any input!
You are on the right track with selenium for web form automation. Sending notification however would require something else as was pointed out, and if you're on windows you can use windows task scheduler to automate, to performed only on certain time of day etc.
To make things more simplified, you can also look up general purpose automation programs that might support all these features together. For example, JRVSInputs uses selenium for web auto-fills https://jrvs.in/forums/viewtopic.php?t=182 and have features to send email or windows notifications. It can convert all its scripts into a neat batch file, you can then automate this batch file in the task scheduler.
I want to create a fitness program using python.
When the user creates a account in my program he/she needs to have the option to select the location of their gym or the place where they workout. So in other words, a map opens up and the user has to find the place where they workout and mark it.
Then, I want to use the GPS of their phones in order to look if they were at least 30 minutes inside a 30 meter radius from the mark (their gym, or other place where they workout) in 24 hours.
If they were, I want to count that day.
My questions are:
Is this thing even possible?
Is python the best programing language for this or should I use something else?
Is there any library for Python that can help me?
Thank you in advance!
Are you planning on making a phone app for iOS/Android?
Since you said you maps on their phone, I am assuming you mean a phone app.
I would suggest learning Objective-C, if you are trying to make apps for iOS specifically, and the preferred language of implementation for Android would be Java.
With that said, you absolutely can use python to develop an Android or iOS app with something like BeeWare! Which is a nice suite of python tools so you can build your program from the ground up with pure python.
So there are many options with advantages/disadvantages; everyone will give their two sense on which is the best way to approach, but I would suggest researching the many ways phone apps are developed to get your feet wet and get familiar with the process before going head first at those additional questions!
It is a bit different than writing a python program on your computer, running it on command prompt/terminal and being good to go!
I'm totally new to programming, maybe my problem is newbie, but I know a little bit of python. I'm trying to build robot kind of machine to do some specific work, but I want him also to answer my "hi", so I mean machines will go through code step by step and do as it say (work I going to give him) so do I need to specify after like every two line
if input_voice == "hi":
print hi
Basically I want to know how can we detect voices and reply and middle of the work, the code to do specific work,
Sorry if you don't understand, I'm very bad at explaining
I'm working on making a "bot" for a game I play on my computer (windows8.1) just to see if I can. One of the tasks I need to automate is to find something on the screen. I can't get the sprites for the game though. I tried taking a screenshot and searching the screen for that image but it fails because the exact image is not on the screen. I imagine I would need to check pixels (if that's possible)
I'm not looking for actual code as an answer. I just need somewhere I can learn how to do what I want to do. Any help is appreciated!
When making "bots" like you do, your approach of searching for pixels is usually a bad practice. It's really error-prone and needs a ton of computing power.
Other popular tools (for example the hearthstone deck tracker) are checking the ram for the current state of the game. This is the safest and best approach.
Python is probably not capable doing that.
Java, C++ or C# are the language you want to write a bot in. I'd highly recommend you switch to one of these.
The Hearthstone Deck Tracker is an open source project on github. Check the code if you want to learn something about bots / tools https://github.com/Epix37/Hearthstone-Deck-Tracker.
For our company I'd like to have a Python based IRC bot which checks whether the websites of our clients are still up and running. More specific: I want to list a number of URL which should be visited every, say, 15 minutes. If it fails, the URL should be checked again after 5 minutes. If retrieving the URL still doesn't result in an HTTP status code 200, it should echo the failing URL in the channel so we can investigate it.
I've written a plugin for Supybot some time ago that basically does some of the above in a crude but effective way. If I want to expand the functionality of the current code to the above 'specs' I need to do some major refactoring; basically it would mean starting from scratch.
Which raises the question: should I write a better plugin for Supybot, matching the new requirements, or go for something else altogether? Should I start from scratch (learning the most, implementing the relevant RFCs myself, spending more time than planned) or is there a suitable framework which handles the basic IRC stuff?
I vote for a completely new plugin for Supybot. Learn more ;)
If you won't do so much, try python irclib. It's a (still maintained) python lib for IRC.
Twisted may also be ok, but it's a little but too much...
To me it sounds like a case of your application wanting to talk IRC, and my gut reaction would be to use Twisted, which has IRC clients. This may or may not be the right solution for you, but at least it's worth investigating.
I finally decided to create use Twisted for my bot. As to the why:
Supybot already has a lot of functionality. And that can be a good thing: just create a simple plugin, hook it up and start using the bot. The downside is that you may not like some of the functionality already provided for. As an example: I didn't like the fact that it responded to everything (Error: "foo" is not a valid command.). I'm sure it can be turned off somehow somewhere, but these kind of small things bothered me.
The Python IRC client library on the other hand felt a little too bare bones. Especially since I needed threading to have the bot check a whether a number of websites are still alive while remaining responsive in the channel.
If the irclib felt like too low level, writing a bot from scratch would certainly be. While I definitely wanted to learn something, I also wanted to focus on the actual functionality of the bot, without being bothered too much by the 'basic' stuff (e.g. I don't necessarily want to write the code to identify the bot, I like to just have some configuration setting to store the nickname and password and handle this for me.)
Twisted has a nice example of a logging bot which can be used as a starting point. Furthermore: in the future it should not be too hard to write a small webserver (using Twisted obviously) to display the output of the bot.
Tip: besides the Twisted documentation you can also take a look at the October 2008 issue of Python Magazine for the article "A Twisted Logging Server" by Doug Farrell.
Thanks to the ones who answered the question. You set me on the right track. :)
Writing a simple IRC bot isn't that hard. I have a template I keep using for my bots, which range from SVN bots to voting-status bots to bots which check connections to certain IPs and change the channel's topic according to the result.
I can share the source if you'd like, though there's nothing like writing your own :)
irc3 is a plugable irc client library based on asyncio and venusian https://irc3.readthedocs.org/