Jump to content

Question about chat client ( explanation )


Recommended Posts

Hi

I want to know is possible with autoit to make a chat client/server that can recive and hold more than 1 milon users and what i need to make for that.

Maybe my exaplanation is not good but let me describe program and hes features: its need to be chat program similar like xfire was, if someone knows it.

Hes features was :

- automatic detection of installed games on computer

- adding manually games

- add/remove game server ip ( when u add ip and port it show server options like name, slots, number of players, player score, .................. )

- add/remove/block friends

- list with online friends and their status ( what game they play ) if they play or show status like ( AFK, online or custom )

- when u click twice on friend it opens new window to chat with instant message ( u can open more windows and talk with more friends )

- screenshoot feature and upload on website to show on your id

Here is some images

 

MAIN  PROGRAM

155653-XFire-large_350.jpg

INGAME CHAT

 

XfireInGameWoW.jpg

LOGIN WINDOW

xfire-20.jpg

OPTIONS WINDOW

1892__Xfire_3.png

CHAT WINDOW OUT OF GAME

GwikQyE.png

 

So i want to know how to make a server, what he need, on what host he need to be stored, and how server works with clients.

Second thing how clients can be recognized.

I know to make a webpage, cms with database and all, but how autoit comunicate with php and mysql ?

If anyone have time and can explain me deeper u can add me on skype if u have it  patriot19821

Edited by Melba23
Added spoiler
Link to comment
Share on other sites

  • 2 weeks later...
  • Developers

Ok, let me try to answer this as polite as possible for a blunt Dutch person..   
You are thinking of developing a serious client/server application and want to see if you can do that in an interpreted script language?

My best advice at the moment is to get some serious help with the design and development of this!
Good luck with your endeavor :)

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I don't understand all of what you are talking but xfire is an Game Tournment Chat/Group etc. Client and what you want is to make something like this right?
A Chat could you do easily with TCP or UDP Connections(The Server would Need to have an portforwarded Port) or you could do it with an Trick within RichEdit ~ the Stream to File could be used to writes a text to a file and which is being applied to the original File which could be hosted by Mediafire Mega Dropbox etc~ or on your own Computer.

To get Games you have installed you can use to search the standardly Gamepaths.. or search only for a Program which is being named like the original like "Gamelauncher.exe" ~ and this could be added to Array which can be displayed within a GUI and use the path where the Program had been found as an Direct start Function of the Game etc..~

If this seems wrong to what you asked or pointed~ I already said that i didn't get all of what you are talking.
The TCP UDP would be best for massive Players/ChatUsers but if you're Upload is slow you can't do that then the RichEdit would be the best Idea because it depends on the download and Upload time of the Users and a bit of the File Hoster you have choosen and it won't get any laggy but maybe very Buggy Like

1. Person has written: Hi

2. Person has written: Hello

but in the end it gets : HeHllio

so at all AutoIt could make it possible.

The IP of Servers within Games you could get from Lists~ or you could make u're own Script but maybe JavaScript would be one of the best to get them~

Edited by RaiNote
  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Link to comment
Share on other sites

  • Developers

I don't understand all of what you are talking but xfire is an Game Tournment Chat/Group etc. Client and what you want is to make something like this right?
A Chat could you do easily with TCP or UDP Connections(The Server would Need to have an portforwarded Port) or you could do it with an Trick within RichEdit ~ the Stream to File could be used to writes a text to a file and which is being applied to the original File which could be hosted by Mediafire Mega Dropbox etc~ or on your own Computer.

To get Games you have installed you can use to search the standardly Gamepaths.. or search only for a Program which is being named like the original like "Gamelauncher.exe" ~ and this could be added to Array which can be displayed within a GUI and use the path where the Program had been found as an Direct start Function of the Game etc..~

If this seems wrong to what you asked or pointed~ I already said that i didn't get all of what you are talking.

Are you serous with all of this and that will be the right base to serve a million clients(1,000,000) ?
Please do not give advises like this as that will only lead to a disaster as this requires a proper server and not some mickey-mouse solution with some  "portforwarding to your computer" setup!

Jos 

 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Xfire closed chat service and made tournament service, so xfire client is closed so as main onld website. I want to try to make program like xfire was, but as i researched a bit on google xfire was made in java, so i asked if this be made in AutoIt.

And just to be clear i want try to make it similar like that was with few options on ( for start and test ) :

-make webpage ( easy, i already maded few php mysql html css )

-register/login ( over webpage )

-login over client

-get friend list

-when i click on firend twice new chat window opens so i can chat with him

-if i get message or him new window pop-up

So all data will be stored on hosting in mysql database.

Edited by akira2891
Link to comment
Share on other sites

  • Developers

I just tried to help~ but 1million is very high but it shouldn't be impossible :c

As said: Don't try to give advise when you have no clue what it means as you only give the wrong impression it would work. I am honestly not trying to be harsh on you but sometimes it feels too much hobbyshop advice is given without any proper thoughts. ;)

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

for a Little Message poping up like in Skype Steam etc use the "Toast UDF"
MySQL and AutoIt can be handled with a "MySQL UDF"
Friendlist dunno~(Maybe attach to this User Profile Codes so if it gets this only to this Person will be a message be send)

@Jos i have a bit clue ;3 maybe not enough to make it clear enough but to give some Basics

Edited by RaiNote
  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Link to comment
Share on other sites

  • Developers

@Jos i have a bit clue ;3 maybe not enough to make it clear enough but to give some Basics

I beg to differ as you keep on insisting... over and out. 

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I already have small char program made in autoit but its not connected to webpage and its more like chat room, but i need different type.

With php i can make login and fetch all data from database in php script and fetch data from that script in AutoIt with _INetGetSource()

My biggest problem is how to make server for all that, where to run it because u cant run exe files on webhost ?

Edited by akira2891
Link to comment
Share on other sites

Because i have server that i start on computer and i open port in my router and give it to my friends + real ip, then i must give them client and i must start client + server and we can chat but all in 1 room.

But as IP changes every 24 hours its not good.

 

And for diferent type i was mean, i have program with list where is my friends or where i can add firend and see if hes online or offline, but this now i have is list like a chatroom so everyone who start client join in same room, u can see on images up in first post i upload all.

Edited by akira2891
Link to comment
Share on other sites

With php i can make login and fetch all data from database in php script and fetch data from that script in AutoIt with _INetGetSource()

A good PHP developer would create a backend API, not download the contents of webpage using a GET request. You do realise that having a million users (questionable) downloading content from a page, parsing, error checking etc... will seriously slow down both the back and front-end of your "application". Not to mention you were originally wanting to do all of this in AutoIt! I like AutoIt, but there there are languages out there better suited to what you want to do, as well as better approaches.

It's evident that you should probably take the advice from @Jos in the second post, as you're little out of your depth it appears.

 

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Port is not a problem because it same all time and it opened, ip is and client / server. Client need to have gui with options and firend list as i said already, so when u run client u see friends if u have it and when he go offline hes not on list anymore.

Link to comment
Share on other sites

hmh~ Maybe u want something like this(Chat.zip TCP) just with added Friendlist and some other Special Functions?

Script made by me~

and this with Friends maybe save a file which is Protected and encrypted but could be read by the main Program and if it get that somebody is with the Name or UID online it will list him or her within Array which is displayed?~I get confussed by myself sorry~

Edited by RaiNote
  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Link to comment
Share on other sites

hmh on my side not ~ gonna give u on pm Source~^^

but you Need USkin UDF or just make These includes as a comment ;3

Edited by RaiNote
  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...