Python GUI & Scripts, Nimbuzz Apps and Other Softwares for Windows Desktop, Android Devices, Cross-Platform and more, including source codes [c-sharp , python, java, etc.] just for information purpose only! All apps on this Blog are self-coded, tested and few might be referenced to Thirty Party sources as well. All Source Codes are available at my GitHub: https://github.com/dbh4ck
Friday, 4 December 2015
Wednesday, 2 December 2015
Nimbuzz Id Login, Get Roster, Avatar Grabber, Hang Bots ALL wxPython GUI coded by db~@NC
Here is the full source code:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#--------------------------------------------------------------------- | |
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
# -*- Nimbuzz Login, Avatar Grabber, Hang Bots -*- | |
# -*- Python (2.7.10) -*- | |
# -*- wxPython (2.8) -*- | |
# -*- Author : DB <dbh4ck@gmail.com> aka <db~@NC> -*- | |
# -*- GUI wxPython -*- | |
# -*- coded by db~@NC -*- | |
#--------------------------------------------------------------------- | |
import os | |
import sys | |
import traceback | |
import types | |
import getpass | |
import locale | |
import warnings | |
import time | |
import logging | |
import random | |
import urllib | |
import threading,thread | |
from decimal import Decimal | |
import wx | |
if "2.8" in wx.version(): | |
import wx.lib.pubsub.setupkwargs | |
else: | |
from wx.lib.pubsub import setuparg1 | |
import wx.lib.agw.hyperlink as hl | |
import wx, wx.html | |
class MainWindow(wx.Frame): | |
def __init__(SELF,parent,id,title): | |
wx.Frame.__init__(SELF, None,-1,"wx_Nimbuzz Client Login, Avatar Grabber, Chatroom Hang Bots Coded by db~@NC",size=(635,700),style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX) | |
SELF.SetBackgroundColour((0xcc,0xff,0xcc)) | |
SELF.initialize() | |
def initialize(SELF): | |
paneldblbl = wx.Panel(SELF,-1,pos =(0,2),size=(620,42)) | |
paneldblbl.SetBackgroundColour((0xcc,0xff,0xcc)) | |
db1_lbl_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
db1_lbl = wx.StaticText(paneldblbl,wx.ALIGN_CENTER ,label="wx_Nimbuzz Client WXPYTHON GUI Coded by db~@NC") | |
db1_lbl_sizer.Add(db1_lbl,0,wx.ALL,5) | |
db1_lbl.SetForegroundColour(wx.BLUE) | |
font_db1_lbl = wx.Font(15, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
db1_lbl.SetFont(font_db1_lbl) | |
def resource_path(relative): | |
if hasattr(sys,"_MEIPASS"): | |
return os.path.join(sys._MEIPASS, relative) | |
return os.path.join(relative) | |
image_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
image = wx.StaticBitmap(SELF,-1,size=(620,90)) | |
image.SetBitmap(wx.Bitmap(resource_path('images\db1.jpg'))) | |
image_sizer.Add(image,0,wx.ALL,5) | |
panel1 = wx.Panel(SELF,-1,pos =(8,160),size=(235,200)) | |
panel2 = wx.Panel(SELF,-1,pos =(8,400),size=(235,260)) | |
panel3 = wx.Panel(SELF,-1,pos =(255,145),size=(363,215)) | |
panel4 = wx.Panel(SELF,-1,pos =(255,400),size=(235,260)) | |
panel5 = wx.Panel(SELF,-1,pos =(430,400),size=(190,260)) | |
SELF.dblbl = wx.StaticBox(SELF, -1, 'Login ID:' , pos =(5,145),size=(240,220)) | |
font_dblbl= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.dblbl.SetForegroundColour(wx.BLUE) | |
SELF.dblbl.SetFont(font_dblbl) | |
SELF.dblbl2 = wx.StaticBox(SELF, -1, 'Online Contacts:' , pos =(5,380),size=(240,290)) | |
font_dblbl2= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.dblbl2.SetForegroundColour(wx.BLUE) | |
SELF.dblbl2.SetFont(font_dblbl2) | |
SELF.dblbl3 = wx.StaticBox(SELF, -1, 'Avatar Grabber:' , pos =(255,145),size=(368,220)) | |
font_dblbl3 = wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.dblbl3.SetForegroundColour(wx.BLUE) | |
SELF.dblbl3.SetFont(font_dblbl3) | |
SELF.dblbl4 = wx.StaticBox(SELF, -1, 'Hang Bots:' , pos =(255,380),size=(368,290)) | |
font_dblbl4= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.dblbl4.SetForegroundColour(wx.BLUE) | |
SELF.dblbl4.SetFont(font_dblbl4) | |
panel1.SetBackgroundColour((0xcc,0xcc,0xff)) | |
panel2.SetBackgroundColour((0xcc,0xcc,0xff)) | |
panel3.SetBackgroundColour((0xcc,0xcc,0xff)) | |
panel4.SetBackgroundColour((0xcc,0xcc,0xff)) | |
panel4.SetBackgroundColour((0xcc,0xcc,0xff)) | |
panel5.SetBackgroundColour((0xcc,0xcc,0xff)) | |
#panel1.Hide() | |
#panel2.Hide() | |
SELF.dblbl_sizer = wx.StaticBoxSizer(SELF.dblbl, wx.VERTICAL) | |
SELF.dblbl2_sizer = wx.StaticBoxSizer(SELF.dblbl2, wx.VERTICAL) | |
SELF.dblbl3_sizer = wx.StaticBoxSizer(SELF.dblbl3, wx.VERTICAL) | |
SELF.dblbl4_sizer = wx.StaticBoxSizer(SELF.dblbl4, wx.VERTICAL) | |
font_lbl= wx.Font(10, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
user_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
user_lbl = wx.StaticText(panel1, label= "Username:") | |
user_lbl.SetForegroundColour(wx.BLUE) | |
user_lbl.SetFont(font_lbl) | |
user_sizer.Add(user_lbl,0,wx.LEFT|wx.TOP,10) | |
SELF.dblbl_sizer.Add(user_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.user = wx.TextCtrl(panel1, style=wx.TE_CENTER) | |
SELF.user.SetForegroundColour(wx.BLUE) | |
user_sizer.Add(SELF.user,0,wx.ALL,8) | |
SELF.dblbl_sizer.Add(SELF.user,0,wx.ALL|wx.CENTER,5) | |
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD) | |
SELF.user.SetFont(font_1) | |
p_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
p_lbl = wx.StaticText(panel1, label="Password:") | |
p_lbl.SetForegroundColour(wx.BLUE) | |
p_lbl.SetFont(font_lbl) | |
p_sizer.Add(p_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl_sizer.Add(p_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.password = wx.TextCtrl(panel1, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER|wx.TE_CENTER) | |
SELF.password.SetForegroundColour(wx.BLUE) | |
p_sizer.Add(SELF.password,0,wx.ALL,8) | |
SELF.dblbl_sizer.Add(SELF.password,0,wx.ALL|wx.CENTER,5) | |
SELF.password.SetFont(font_1) | |
res_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
res_lbl = wx.StaticText(panel1, label= "Resource:") | |
res_lbl.SetForegroundColour(wx.BLUE) | |
res_lbl.SetFont(font_lbl) | |
res_sizer.Add(res_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl_sizer.Add(res_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.res = wx.TextCtrl(panel1, style=wx.TE_CENTER) | |
SELF.res.SetForegroundColour(wx.BLUE) | |
res_sizer.Add(SELF.res,0,wx.ALL,8) | |
SELF.dblbl_sizer.Add(SELF.res,0,wx.ALL|wx.CENTER,5) | |
SELF.res.SetFont(font_1) | |
nickname_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
nickname_lbl = wx.StaticText(panel1, label= "Nickname:") | |
nickname_lbl.SetForegroundColour(wx.BLUE) | |
nickname_lbl.SetFont(font_lbl) | |
nickname_sizer.Add(nickname_lbl,0,wx.LEFT|wx.CENTER,8) | |
SELF.dblbl_sizer.Add(nickname_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.nickname = wx.TextCtrl(panel1, style=wx.TE_CENTER) | |
SELF.nickname.SetForegroundColour(wx.BLUE) | |
nickname_sizer.Add(SELF.nickname,0,wx.ALL,8) | |
SELF.dblbl_sizer.Add(SELF.nickname,0,wx.ALL|wx.CENTER,5) | |
SELF.nickname.SetFont(font_1) | |
button_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.button = wx.Button(panel1,-1,label="Login") | |
SELF.Bind(wx.EVT_BUTTON,SELF.OnButtonClick,SELF.button) | |
font_button= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.button.SetFont(font_button) | |
SELF.button.SetForegroundColour(wx.RED) | |
button_sizer.Add(SELF.button,0,wx.LEFT,83) | |
SELF.dblbl_sizer.Add(SELF.button,0,wx.ALL|wx.CENTER,5) | |
listbox_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.dbListBox = wx.ListBox(panel2,-1,size=(235,265),style=wx.LB_SINGLE|wx.LB_SORT) | |
listbox_sizer.Add(SELF.dbListBox,0,wx.CENTER,5) | |
SELF.dbListBox.SetForegroundColour(wx.BLUE) | |
font_dbListBox= wx.Font(9, wx.DECORATIVE, wx.NORMAL, wx.BOLD) | |
SELF.dbListBox.SetFont(font_dbListBox) | |
SELF.dbListBox.SetBackgroundColour((0xcc,0xcc,0xff)) | |
SELF.dbListBox.Show(True) | |
avatar_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
avatar_lbl = wx.StaticText(panel3, label= "Enter Target username [without '@nimbuzz.com']") | |
avatar_lbl.SetForegroundColour(wx.BLUE) | |
avatar_lbl.SetFont(font_lbl) | |
avatar_sizer.Add(avatar_lbl,0,wx.TOP|wx.RIGHT,-175) | |
SELF.dblbl3_sizer.Add(avatar_lbl,0,wx.ALL|wx.CENTER,5) | |
note_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
note_lbl = wx.StaticText(panel3, label= "[ Note: Files are being saved at 'C:\Nimbuzz_Avatars' ]") | |
note_lbl.SetForegroundColour(wx.BLUE) | |
note_lbl.SetFont(font_lbl) | |
note_sizer.Add(note_lbl,0,wx.TOP|wx.RIGHT,-75) | |
SELF.dblbl3_sizer.Add(note_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.avatar = wx.TextCtrl(panel3, style=wx.TE_CENTER) | |
SELF.avatar.SetForegroundColour(wx.BLUE) | |
avatar_sizer.Add(SELF.avatar,0,wx.TOP|wx.LEFT,-130) | |
SELF.dblbl3_sizer.Add(SELF.avatar,0,wx.ALL|wx.CENTER,5) | |
SELF.avatar.SetFont(font_1) | |
button2_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.button2 = wx.Button(panel3,-1,label="GRAB NOW!! ") | |
SELF.Bind(wx.EVT_BUTTON,SELF.OnButton2Click,SELF.button2) | |
font_button2= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.button2.SetFont(font_button2) | |
SELF.button2.SetForegroundColour(wx.RED) | |
button2_sizer.Add(SELF.button2,0,wx.TOP|wx.RIGHT,-115) | |
SELF.dblbl3_sizer.Add(SELF.button2,0,wx.ALL|wx.CENTER,5) | |
bot1_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
bot1_lbl = wx.StaticText(panel4, label= "bot 1:") | |
bot1_lbl.SetForegroundColour(wx.BLUE) | |
bot1_lbl.SetFont(font_lbl) | |
bot1_sizer.Add(bot1_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(bot1_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.bot1 = wx.TextCtrl(panel4, style=wx.TE_CENTER) | |
SELF.bot1.SetForegroundColour(wx.BLUE) | |
bot1_sizer.Add(SELF.bot1,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.bot1,0,wx.LEFT|wx.CENTER,15) | |
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD) | |
SELF.bot1.SetFont(font_1) | |
bot2_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
bot2_lbl = wx.StaticText(panel4, label= "bot 2:") | |
bot2_lbl.SetForegroundColour(wx.BLUE) | |
bot2_lbl.SetFont(font_lbl) | |
bot2_sizer.Add(bot2_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(bot2_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.bot2 = wx.TextCtrl(panel4, style=wx.TE_CENTER) | |
SELF.bot2.SetForegroundColour(wx.BLUE) | |
bot2_sizer.Add(SELF.bot2,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.bot2,0,wx.LEFT|wx.CENTER,5) | |
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD) | |
SELF.bot2.SetFont(font_1) | |
bot3_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
bot3_lbl = wx.StaticText(panel4, label= "bot 3:") | |
bot3_lbl.SetForegroundColour(wx.BLUE) | |
bot3_lbl.SetFont(font_lbl) | |
bot3_sizer.Add(bot3_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(bot3_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.bot3 = wx.TextCtrl(panel4, style=wx.TE_CENTER) | |
SELF.bot3.SetForegroundColour(wx.BLUE) | |
bot3_sizer.Add(SELF.bot3,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.bot3,0,wx.LEFT|wx.CENTER,5) | |
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD) | |
SELF.bot3.SetFont(font_1) | |
bot4_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
bot4_lbl = wx.StaticText(panel4, label= "bot 4:") | |
bot4_lbl.SetForegroundColour(wx.BLUE) | |
bot4_lbl.SetFont(font_lbl) | |
bot4_sizer.Add(bot4_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(bot4_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.bot4 = wx.TextCtrl(panel4, style=wx.TE_CENTER) | |
SELF.bot4.SetForegroundColour(wx.BLUE) | |
bot4_sizer.Add(SELF.bot4,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.bot4,0,wx.ALL|wx.CENTER,5) | |
SELF.bot4.SetFont(font_1) | |
bot5_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
bot5_lbl = wx.StaticText(panel4, label= "bot 5:") | |
bot5_lbl.SetForegroundColour(wx.BLUE) | |
bot5_lbl.SetFont(font_lbl) | |
bot5_sizer.Add(bot5_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(bot5_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.bot5 = wx.TextCtrl(panel4, style=wx.TE_CENTER) | |
SELF.bot5.SetForegroundColour(wx.BLUE) | |
bot5_sizer.Add(SELF.bot5,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.bot5,0,wx.ALL|wx.CENTER,5) | |
SELF.bot5.SetFont(font_1) | |
botpw_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
botpw_lbl = wx.StaticText(panel5, label= "Pass. :") | |
botpw_lbl.SetForegroundColour(wx.BLUE) | |
botpw_lbl.SetFont(font_lbl) | |
botpw_sizer.Add(botpw_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(botpw_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.botpw = wx.TextCtrl(panel5, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER|wx.TE_CENTER) | |
SELF.botpw.SetForegroundColour(wx.BLUE) | |
botpw_sizer.Add(SELF.botpw,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.botpw,0,wx.ALL|wx.CENTER,5) | |
SELF.botpw.SetFont(font_1) | |
button3_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.button3 = wx.Button(panel4,-1,label="HANG BOTS!! ") | |
SELF.Bind(wx.EVT_BUTTON,SELF.OnButton3Click,SELF.button3) | |
font_button3= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.button3.SetFont(font_button2) | |
SELF.button3.SetForegroundColour(wx.RED) | |
button3_sizer.Add(SELF.button3,0,wx.TOP|wx.RIGHT,-115) | |
SELF.dblbl4_sizer.Add(SELF.button3,0,wx.ALL|wx.CENTER,5) | |
room_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
room_lbl = wx.StaticText(panel5, label= "Room:") | |
room_lbl.SetForegroundColour(wx.BLUE) | |
room_lbl.SetFont(font_lbl) | |
room_sizer.Add(room_lbl,0,wx.LEFT|wx.TOP,14) | |
SELF.dblbl4_sizer.Add(room_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.room = wx.TextCtrl(panel5, style=wx.TE_CENTER) | |
SELF.room.SetForegroundColour(wx.BLUE) | |
room_sizer.Add(SELF.room,0,wx.ALL,8) | |
SELF.dblbl4_sizer.Add(SELF.room,0,wx.ALL|wx.CENTER,5) | |
SELF.room.SetFont(font_1) | |
hang_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
hang_lbl = wx.StaticText(panel5, label= "[common password for all ids]") | |
hang_lbl.SetForegroundColour(wx.BLUE) | |
hang_lbl.SetFont(font_lbl) | |
hang_sizer.Add(hang_lbl,0,wx.TOP|wx.RIGHT,-15) | |
SELF.dblbl4_sizer.Add(hang_lbl,0,wx.ALL|wx.CENTER,5) | |
hang2_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
hang2_lbl = wx.StaticText(panel5, label= "[ids must membered in room]") | |
hang2_lbl.SetForegroundColour(wx.BLUE) | |
hang2_lbl.SetFont(font_lbl) | |
hang2_sizer.Add(hang2_lbl,0,wx.TOP|wx.RIGHT,-15) | |
SELF.dblbl4_sizer.Add(hang2_lbl,0,wx.ALL|wx.CENTER,5) | |
main_sizer= wx.BoxSizer(wx.VERTICAL) | |
main_sizer.Add(db1_lbl_sizer,0,wx.ALL|wx.CENTER,3) | |
main_sizer.Add(image_sizer,0,wx.ALL|wx.CENTER,1) | |
main_sizer.Add(user_sizer,0,wx.TOP,-135) | |
main_sizer.Add(p_sizer,0,wx.TOP,-100) | |
main_sizer.Add(res_sizer,0,wx.TOP,-61) | |
main_sizer.Add(nickname_sizer,0,wx.TOP,-24) | |
main_sizer.Add(button_sizer,0,wx.TOP,2) | |
main_sizer.Add(avatar_sizer,0,wx.TOP|wx.LEFT,20) | |
main_sizer.Add(button2_sizer,0,wx.TOP|wx.LEFT,20) | |
main_sizer.Add(note_sizer,0,wx.TOP|wx.LEFT,10) | |
main_sizer.Add(bot1_sizer,0,wx.TOP,-237) | |
#main_sizer.Add(bot1_sizer,0,wx.TOP|wx.RIGHT,-240) | |
main_sizer.Add(bot2_sizer,0,wx.TOP|wx.RIGHT,-200) | |
main_sizer.Add(bot3_sizer,0,wx.TOP,-161) | |
main_sizer.Add(bot4_sizer,0,wx.TOP,-122) | |
main_sizer.Add(bot5_sizer,0,wx.TOP,-85) | |
main_sizer.Add(botpw_sizer,0,wx.TOP,-210) | |
main_sizer.Add(room_sizer,0,wx.TOP,-140) | |
main_sizer.Add(hang_sizer,0,wx.TOP,-155) | |
main_sizer.Add(button3_sizer,0,wx.TOP|wx.LEFT,85) | |
main_sizer.Add(hang2_sizer,0,wx.TOP,-170) | |
SELF.SetSizer(main_sizer) | |
SELF.Show(True) | |
SELF.Center() | |
def OnButtonClick(SELF,event): | |
STATUS = 'db here' | |
SHOW = 'chat' | |
NICK = SELF.nickname.GetValue() | |
SERVER = 'nimbuzz.com' | |
HOST = 'o.nimbuzz.com' | |
PORT = 5222 | |
ROOM_SERVER = 'conference.nimbuzz.com' | |
USR = SELF.user.GetValue() | |
PW = SELF.password.GetValue() | |
RS = SELF.res.GetValue() | |
usrjid='%s@%s/%s'%(USR,SERVER,RS) | |
import xmpp | |
class dbconn(xmpp.Client): | |
def __init__(self): | |
self.client = xmpp.Client('nimbuzz.com', debug=False) | |
if self.client.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print ("Connected") | |
print ("\nLogging now..\n") | |
if self.client.auth(USR,PW,'res'): | |
print ("Logged in\n\n") | |
SELF.user.SetBackgroundColour(wx.GREEN) | |
SELF.password.SetBackgroundColour(wx.GREEN) | |
SELF.res.SetBackgroundColour(wx.GREEN) | |
SELF.nickname.SetBackgroundColour(wx.GREEN) | |
else: | |
print ("Unable to Login. Check your username and password") | |
SELF.user.SetBackgroundColour(wx.RED) | |
SELF.password.SetBackgroundColour(wx.RED) | |
SELF.res.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit...') | |
sys.exit(1) | |
else: | |
print ("Couldn't Connect. Restarting..") | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
prs = xmpp.simplexml.XML2Node(unicode("<presence><status>%s</status><priority>1</priority><show>%s</show><nick xmlns='http://jabber.org/protocol/nick'>%s</nick></presence>" % (STATUS,SHOW,NICK)).encode('utf8')) | |
self.client.send(prs) | |
roster = self.client.getRoster() | |
#self.client.sendInitPresence() | |
items = roster.getItems() | |
for jid in items: | |
name = roster.getName(jid) | |
jidres = roster.getResources(jid) | |
for res in jidres: | |
resource = roster.getResources(jid.split('/', 1)[0] + '/' + res) | |
dbcontactlist = u'%s %s/%s' % (name or '', jid, res) | |
SELF.dbListBox.Append(str(dbcontactlist)) | |
def wake(self): | |
self.awake = True | |
# if [ res for res in roster.getResources(tojid) if res.startswith(tail) ]: | |
# break | |
#for res in roster.getResources(tojid): | |
# if res.startswith(tail): | |
# tojid = tojid.split('/', 1)[0] + '/' + res | |
if __name__ == '__main__': | |
logging.basicConfig(level=logging.ERROR, format='%(levelname)-8s %(message)s') | |
xmpp = dbconn() | |
def OnButton2Click(SELF,event): | |
nimbuzz_avatar = urllib.URLopener() | |
dirname = 'C:\Nimbuzz Avatars' | |
if not os.path.exists(dirname): | |
os.mkdir(dirname) | |
os.chdir("C:\Nimbuzz Avatars") | |
def reporthook(blocknum, blocksize, totalsize): | |
readsofar = blocknum * blocksize | |
if totalsize > 0: | |
percent = readsofar * 1e2 / totalsize | |
s = "\r%5.1f%% %*d / %d" % (percent, len(str(totalsize)), readsofar, totalsize) | |
sys.stderr.write(s) | |
if readsofar >= totalsize: # near the end | |
sys.stderr.write("\n") | |
else: # total size is unknown | |
sys.stderr.write("read %d\n" % (readsofar,)) | |
nimbuzz_avatar.retrieve("http://avatar.nimbuzz.com/getAvatar?jid=%s@nimbuzz.com" % SELF.avatar.GetValue(),"%s.jpg" % SELF.avatar.GetValue(),reporthook) | |
print 'Download Completed.' | |
def OnButton3Click(SELF,event): | |
""" ######################################## LOGIN BOT ID 1 ######################################## """ | |
user1 = SELF.bot1.GetValue() | |
pw1 = SELF.botpw.GetValue() | |
rs1 = 'dbot1' | |
STATUS = 'chat' | |
SHOW = 'Hang Bot 1 :)' | |
NICK1 = 'Bot1' | |
""" ######################################## LOGIN BOT ID 2 ######################################## """ | |
user2 = SELF.bot2.GetValue() | |
pw2 = SELF.botpw.GetValue() | |
rs2 = 'dbot2' | |
STATUS = 'chat' | |
SHOW = 'Hang Bot 2 :)' | |
NICK2 = 'Bot2' | |
""" ######################################## LOGIN BOT ID 3 ######################################## """ | |
user3 = SELF.bot3.GetValue() | |
pw3 = SELF.botpw.GetValue() | |
rs3 = 'dbot3' | |
STATUS = 'chat' | |
SHOW = 'Hang Bot 3 :)' | |
NICK3 = 'Bot3' | |
""" ######################################## LOGIN BOT ID 4 ######################################## """ | |
user4 = SELF.bot4.GetValue() | |
pw4 = SELF.botpw.GetValue() | |
rs4 = 'dbot4' | |
STATUS = 'chat' | |
SHOW = 'Hang Bot 2 :)' | |
NICK4 = 'Bot4' | |
""" ######################################## LOGIN BOT ID 5 ######################################## """ | |
user5 = SELF.bot5.GetValue() | |
pw5 = SELF.botpw.GetValue() | |
rs5 = 'dbot5' | |
STATUS = 'chat' | |
SHOW = 'Hang Bot 5 :)' | |
NICK5 = 'Bot5' | |
print "\n================================ STARTING YOUR BOT...================================" | |
print "\n================================ Coded BY DB~@NC ================================\n" | |
import xmpp | |
""" ######################################## SET UP CONNECTION FOR BOT ID 1 ######################################## """ | |
dbconn1 = xmpp.Client('nimbuzz.com', debug=False) | |
if dbconn1.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print "Connected" | |
print "\nTrying to login bot1..\n" | |
if dbconn1.auth(user1, pw1, rs1 ): | |
print "Logged in bot1\n\n" | |
SELF.bot1.SetBackgroundColour(wx.GREEN) | |
else: | |
print "Unable to login. Check your username1 and password1" | |
SELF.bot1.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit..') | |
sys.exit(1) | |
else: | |
print "Couldn't connect. Restarting.." | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
""" ######################################## SET UP CONNECTION FOR BOT ID 2 ######################################## """ | |
dbconn2 = xmpp.Client('nimbuzz.com', debug=False) | |
if dbconn2.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print "Connected" | |
print "\nTrying to login bot2..\n" | |
if dbconn2.auth(user2, pw2, rs2 ): | |
print "Logged in bot2\n\n" | |
SELF.bot2.SetBackgroundColour(wx.GREEN) | |
else: | |
print "Unable to login. Check your username2 and password2" | |
SELF.bot2.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit..') | |
sys.exit(1) | |
else: | |
print "Couldn't connect. Restarting.." | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
""" ######################################## SET UP CONNECTION FOR BOT ID 3 ######################################## """ | |
dbconn3 = xmpp.Client('nimbuzz.com', debug=False) | |
if dbconn3.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print "Connected" | |
print "\nTrying to login bot3..\n" | |
if dbconn3.auth(user3, pw3, rs3 ): | |
print "Logged in bot3\n\n" | |
SELF.bot3.SetBackgroundColour(wx.GREEN) | |
else: | |
print "Unable to login. Check your username3 and password3" | |
SELF.bot3.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit..') | |
sys.exit(1) | |
else: | |
print "Couldn't connect. Restarting.." | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
""" ######################################## SET UP CONNECTION FOR BOT ID 4 ######################################## """ | |
dbconn4 = xmpp.Client('nimbuzz.com', debug=False) | |
if dbconn4.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print "Connected" | |
print "\nTrying to login bot4..\n" | |
if dbconn4.auth(user4, pw4, rs4 ): | |
print "Logged in bot4\n\n" | |
SELF.bot4.SetBackgroundColour(wx.GREEN) | |
else: | |
print "Unable to login. Check your username4 and password4" | |
SELF.bot4.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit..') | |
sys.exit(1) | |
else: | |
print "Couldn't connect. Restarting.." | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
""" ######################################## SET UP CONNECTION FOR BOT ID 5 ######################################## """ | |
dbconn5 = xmpp.Client('nimbuzz.com', debug=False) | |
if dbconn5.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print "Connected" | |
print "\nTrying to login bot5..\n" | |
if dbconn5.auth(user5, pw5, rs5 ): | |
print "Logged in bot5\n\n" | |
SELF.bot5.SetBackgroundColour(wx.GREEN) | |
else: | |
print "Unable to login. Check your username5 and password5" | |
SELF.bot5.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit..') | |
sys.exit(1) | |
else: | |
print "Couldn't connect. Restarting.." | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
""" ######################################## ROOM SET UP & PRESENCES TO CONFERENCE ######################################## """ | |
room = SELF.room.GetValue() | |
muc1 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK1)) | |
dbconn1.send(muc1) | |
muc2 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK2)) | |
dbconn2.send(muc2) | |
muc3 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK3)) | |
dbconn3.send(muc3) | |
muc4 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK4)) | |
dbconn4.send(muc4) | |
muc5 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK5)) | |
dbconn5.send(muc5) | |
""" ######################################## SET UP BOT MESSAGES FOR YOUR CHATROOM ######################################## """ | |
msg1 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 1 :D</body></message>"%(room,user2)) | |
msg2 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 2 :P</body></message>"%(room,user1)) | |
msg3 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 3 :@</body></message>"%(room,user4)) | |
msg4 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 4 :S</body></message>"%(room,user3)) | |
msg5 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 5 :$</body></message>"%(room,user1)) | |
msg6 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 1 :D</body></message>"%(room,user5)) | |
import time | |
while True: | |
dbconn1.send(msg1) | |
dbconn2.send(msg2) | |
dbconn3.send(msg3) | |
dbconn4.send(msg4) | |
dbconn5.send(msg5) | |
dbconn1.send(msg6) | |
time.sleep(60) | |
while 1: | |
try: | |
dbconn1.Process(1) | |
dbconn2.Process(1) | |
dbconn3.Process(1) | |
dbconn4.Process(1) | |
dbconn5.Process(1) | |
except Exception, e: | |
trace=traceback.format_exc() | |
print trace | |
if __name__ == "__main__": | |
app = wx.App(False) | |
frame = MainWindow(None,wx.ID_ANY,'Nimbuzz Login, Avatar Grabber, Room HangBots wxPython GUI App Coded by db~@NC') | |
app.MainLoop() |
Wednesday, 4 November 2015
wx_Nimbuzz aka Nimbuzz Login with wxPython GUI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# #!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
# -*- coded by db~@NC -*- | |
import os | |
import sys | |
import traceback | |
import types | |
import getpass | |
import locale | |
import warnings | |
import time | |
import logging | |
import random | |
import urllib | |
import threading,thread | |
from decimal import Decimal | |
import wx | |
if "2.8" in wx.version(): | |
import wx.lib.pubsub.setupkwargs | |
else: | |
from wx.lib.pubsub import setuparg1 | |
import wx.lib.agw.hyperlink as hl | |
import wx, wx.html | |
#MIN_SIZE = (400,500) | |
class MainWindow(wx.Frame): | |
def __init__(self,parent,id,title): | |
wx.Frame.__init__(self, parent,id,title="Nimbuzz Simple Login App Coded by db~@NC",size=(520,600),style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX) | |
self.parent = None | |
self.initialize() | |
def initialize(SELF): | |
db1_lbl_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
db1_lbl = wx.StaticText(SELF,wx.ALIGN_RIGHT ,label="Nimbuzz Login WXPYTHON GUI Coded by db~@NC") | |
db1_lbl_sizer.Add(db1_lbl,0,wx.ALL,5) | |
db1_lbl.SetForegroundColour(wx.BLUE) | |
font_db1_lbl = wx.Font(15, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
db1_lbl.SetFont(font_db1_lbl) | |
def resource_path(relative): #define RESOURCE PATH from where all the required resources are loaded when script is being executed | |
if hasattr(sys,"_MEIPASS"): | |
return os.path.join(sys._MEIPASS, relative) | |
return os.path.join(relative) | |
image_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
image = wx.StaticBitmap(SELF,-1,size=(545,80)) | |
image.SetBitmap(wx.Bitmap(resource_path('images\db.jpg'))) #Replace this folder and filename with your required needs | |
image_sizer.Add(image,0,wx.RIGHT,5) | |
user_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
user_lbl = wx.StaticText(SELF, label= "Username:") | |
user_sizer.Add(user_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.user = wx.TextCtrl(SELF) | |
user_sizer.Add(SELF.user,0,wx.ALL,2) | |
p_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
p_lbl = wx.StaticText(SELF, label="Password:") | |
p_sizer.Add(p_lbl,0,wx.ALL|wx.CENTER,5) | |
SELF.password = wx.TextCtrl(SELF, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER) | |
p_sizer.Add(SELF.password,0,wx.ALL,4) | |
res_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
res_lbl = wx.StaticText(SELF, label= "Resource:") | |
res_sizer.Add(res_lbl,0,wx.ALL|wx.CENTER,6) | |
SELF.res = wx.TextCtrl(SELF) | |
res_sizer.Add(SELF.res,0,wx.ALL,5) | |
room_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
room_lbl = wx.StaticText(SELF, label= "Room:") | |
room_sizer.Add(room_lbl,0,wx.ALL|wx.CENTER,14) | |
SELF.room = wx.TextCtrl(SELF) | |
room_sizer.Add(SELF.room,0,wx.ALL,5) | |
button_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.button = wx.Button(SELF,-1,label="Login") | |
SELF.Bind(wx.EVT_BUTTON,SELF.OnButtonClick,SELF.button) | |
button_sizer.Add(SELF.button,0,wx.LEFT,70) | |
font_button= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD) | |
SELF.button.SetFont(font_button) | |
SELF.button.SetForegroundColour(wx.RED) | |
listbox_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
SELF.dbListBox = wx.ListBox(SELF,-1,size=(400,230),style=wx.LB_SINGLE|wx.LB_SORT) | |
listbox_sizer.Add(SELF.dbListBox,0,wx.CENTER,5) | |
SELF.dbListBox.SetForegroundColour(wx.BLUE) | |
SELF.dbListBox.Show(True) | |
main_sizer= wx.BoxSizer(wx.VERTICAL) | |
main_sizer.Add(db1_lbl_sizer,0,wx.ALL,3) | |
main_sizer.Add(image_sizer,0,wx.ALIGN_RIGHT,5) | |
main_sizer.Add(user_sizer,0,wx.ALL,3) | |
#main_sizer.Add(avi_sizer,0,wx.ALIGN_RIGHT,0) | |
main_sizer.Add(p_sizer,0,wx.ALL,3) | |
main_sizer.Add(res_sizer,0,wx.ALL,3) | |
main_sizer.Add(room_sizer,0,wx.ALL,3) | |
main_sizer.Add(button_sizer,0,wx.ALIGN_LEFT,5) | |
main_sizer.Add(SELF.dbListBox,0,wx.CENTER,15) | |
#main_sizer.Add(button2_sizer,0,wx.ALIGN_RIGHT,0) | |
hyper_sizer = wx.BoxSizer(wx.HORIZONTAL) | |
hyper = hl.HyperLinkCtrl(SELF,-1,"For More Nimbuzz Tools, Visit my Blog now!",URL="http://dbh4ck.blogspot.in") | |
hyper_sizer.Add(hyper,0,wx.ALL|wx.CENTER,10) | |
#wx.LaunchDefaultBrowser("http://dbh4ck.blogspot.in") | |
hyper.AutoBrowse(False) | |
hyper.SetColours("BLUE","BLUE","BLUE") | |
hyper.EnableRollover(True) | |
hyper.SetUnderlines(False,False,True) | |
hyper.SetBold(True) | |
hyper.OpenInSameWindow(True) | |
main_sizer.Add(hyper,0,wx.CENTER,8) | |
SELF.SetSizer(main_sizer) | |
SELF.Show(True) | |
SELF.Center() | |
def OnButtonClick(SELF,event): | |
STATUS = 'db here' | |
SHOW = 'chat' | |
NICK = 'G-Fiber' | |
SERVER = 'nimbuzz.com' | |
HOST = 'o.nimbuzz.com' | |
PORT = 5222 | |
ROOM_SERVER = 'conference.nimbuzz.com' | |
USR = SELF.user.GetValue() | |
PW = SELF.password.GetValue() | |
RS = SELF.res.GetValue() | |
usrjid='%s@%s/%s'%(USR,SERVER,RS) | |
import xmpp | |
class db: | |
def __init__(self): #initialize class and setup connection details to get connected to Nimbuzz server | |
self.client = xmpp.Client('nimbuzz.com', debug=False) | |
if self.client.connect( server=('o.nimbuzz.com',5222), secure=False ): | |
print ("Connected") | |
print ("\nTrying to login..\n") | |
if self.client.auth(USR,PW,'res'): | |
print ("Logged in\n\n") | |
SELF.user.SetBackgroundColour(wx.GREEN) | |
SELF.password.SetBackgroundColour(wx.GREEN) | |
SELF.res.SetBackgroundColour(wx.GREEN) | |
else: | |
print ("Unable to Login. Check your username and password") | |
SELF.user.SetBackgroundColour(wx.RED) | |
SELF.password.SetBackgroundColour(wx.RED) | |
SELF.res.SetBackgroundColour(wx.RED) | |
raw_input('Press Enter to exit...') | |
sys.exit(1) | |
else: | |
print ("Couldn't Connect. Restarting..") | |
os.execl(sys.executable, sys.executable, sys.argv[0]) | |
prs = xmpp.simplexml.XML2Node(unicode("<presence><status>%s</status><priority>1</priority><show>%s</show><nick xmlns='http://jabber.org/protocol/nick'>%s</nick></presence>" % (STATUS,SHOW,NICK)).encode('utf8')) | |
self.client.send(prs) | |
roster = self.client.getRoster() | |
#self.client.sendInitPresence() | |
items = roster.getItems() | |
for jid in items: | |
name = roster.getName(jid) | |
jidres = roster.getResources(jid) | |
for res in jidres: | |
resource = roster.getResources(jid.split('/', 1)[0] + '/' + res) | |
dbcontactlist = u'%s %s/%s' % (name or '', jid, res) | |
SELF.dbListBox.Append(str(dbcontactlist)) | |
chatroom = SELF.room.GetValue() | |
muc = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(chatroom,NICK)) | |
self.client.send(muc) | |
def wake(self): | |
self.awake = True | |
def messages(self, msg): | |
frm = unicode(msg.getFrom()).encode('utf8') | |
typ = msg.getType() | |
body = msg.getBody() | |
print frm, typ, body | |
print msg | |
self.client.RegisterHandler('message',messages) | |
while 1: | |
self.client.Process() | |
if __name__ == '__main__': | |
logging.basicConfig(level=logging.ERROR, format='%(levelname)-8s %(message)s') | |
xmpp = db() | |
xmpp.wake() | |
if __name__ == "__main__": | |
app = wx.App(False) | |
frame = MainWindow(None,wx.ID_ANY,'Nimbuzz Login wxPython GUI App') | |
app.MainLoop() |
Subscribe to:
Posts (Atom)