chat room for anyone, no invite needed
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

chat room for anyone, no invite needed

Started by blackwings, 12 May, 2004, 20:38:16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

blackwings

Hi, I wonder if anyone could make a script that is like the op chat, but everyone can chat in it and they don't need to get invited to chat there?

~blackwings


[NL]ZeroX

i think its imposible because:
if you send a message to that chat, everyone in the hub gets that message

but i'm sure not everyone want to chat in that chatroom
so there's need an invite (mayB an addme) command for entering that chatroom

blackwings

what I wanted it to do, isn't it lika the OP chat, but you allow all profiles to chat in it?


TiMeTrAVelleR

If  everyone   must  get in  why  dont  you use  the main chat  than ???

plop

QuoteOriginally posted by [NL]ZeroX
i think its imposible because:
if you send a message to that chat, everyone in the hub gets that message

but i'm sure not everyone want to chat in that chatroom
so there's need an invite (mayB an addme) command for entering that chatroom
it is posible but not a good idea.
i had a room like that running in my hub for a couple day's.
it linked 2/3 hub's 2gether in a seperate chat window.
just it anoyed the hell out of everybody.
best 2 have the user decide by himself wheter he wants 2 join that chat or not.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

Corayzon

#5
i wrote this chat room bot ages ago...could proberbly be fixed up a shitload now...but dont have time...so ere ya go....

list of commands

main commnads
+startchat
+joinchat
+chatrooms

chatroom commands
+userlist
+exit
+kill

--// BotName
sBot = "-ChatRoom-Bot-"

tChatRoom = {}
iChatRoom = {}
tRoomList = {}

--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
--// Main function
--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function Main()
	frmHub:EnableFullData(1)
	frmHub:RegBot(sBot)
end

--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
--// Data arrival from client on server
--///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function DataArrival(user, data)
	
	data=strsub(data,1,strlen(data)-1) 
	_,_,cmd=strfind(data, "%b<>%s+(%S+)")

	-- Chat Room Functions
	------------------------------------------
	if cmd == "+startchat" then
		user:SendPM(user.sName, "***Starting Chat Room v0.01 ...")
		iChatRoom[user.sName] = "qChatName"
		user:SendPM(user.sName, "***Please enter your ChatRoom Name: ")
		return 1

	elseif cmd == "+joinchat" then
		_,_,cmd,hubname = strfind(data, "%b<>%s+(%S+)%s+(%S+)")
		if iChatRoom[hubname] ~= nil then
			local host = iChatRoom[hubname]
			local hub = iChatRoom[host]
			tChatRoom[host]["userlist"][user.sName] = user.sName
			tChatRoom[host]["count"] = tChatRoom[host]["count"] + 1
			SendPmToNick(user.sName, hub, "***You have connected to "..hubname)
			SendPmToNick(hub, user.sName, "***"..user.sName.." has connected to the chatroom")
		else
			user:SendData(sBot, "***Unable to connected to chatroom "..hubname)
		end

	elseif cmd == "+chatrooms" then
		local sOut = "\r\n\r\n\tChat Room List\r\n\r\n"
		if tRoomList ~= nil then
			for roomname, e in tRoomList do
				sOut=sOut.."\t\t"..roomname.."\t"..tChatRoom[iChatRoom[roomname]]["count"]
			end
			user:SendData(sBot, sOut)
		end

	end

	-- ChatRoom chat
	if tChatRoom ~= nil then
		for haha, room in tChatRoom do
			if strfind(data, "$To: "..room["hubname"]) then
				if room["userlist"][user.sName] == user.sName then

					if cmd == "+userlist" then

						local sOut = "\r\n\r\n\tU s e r   L i s t\r\n\r\n"
						for users, e in room["userlist"] do
							sOut=sOut.."\t\t"..users.."\r\n"
						end
						SendPmToNick(user.sName, room["hubname"], sOut)

					elseif cmd == "+exit" then
						room["userlist"][user.sName] = nil
						room["count"] = room["count"] - 1
						SendPmToNick(user.sName, room["hubname"], "***You have disconnected from "..hubname)
						SendPmToNick(room["hubname"], user.sName, "***"..user.sName.." has disconnected to the chatroom")
						

					elseif cmd == "+kill" then
						if room["host"] == user.sName then
							
							iChatRoom[room["hubname"]] = nil
							iChatRoom[room["hubname"]] = nil
							tRoomList[room["hubname"]] = nil
							frmHub:UnregBot(room["hubname"])
							room = nil
							return 1
						end
					else
						for users, e in room["userlist"] do

							_,_,string = strfind(data, "%b<>%s+(.+)")
							if users ~= user.sName then
								SendPmToNick(users, room["hubname"], "["..user.sName.."] "..string)
								return 1
							end
						end
					end
				end
			end
		end
	end

	-- ChatRoom initailization
	if cmd ~= nil then
		if iChatRoom[user.sName] ~= nil then
			if strfind(data, "$To: "..user.sName) then
				if iChatRoom[user.sName] == "qChatName" then

					_,_,hubname = strfind(data, "%b<>%s+(.+)")
					tChatRoom[user.sName] = {}
					frmHub:RegBot(hubname)
					tChatRoom[user.sName]["host"] = user.sName
					tChatRoom[user.sName]["userlist"] = {}
					tChatRoom[user.sName]["userlist"][user.sName] = user.sName
					tChatRoom[user.sName]["hubname"] = hubname
					tChatRoom[user.sName]["count"] = 1
					iChatRoom[user.sName] = hubname
					iChatRoom[hubname] = user.sName
					tRoomList[hubname] = hubname
					SendPmToNick(user.sName, hubname, "***"..hubname.." has started")
					SendPmToNick(user.sName, hubname, "***You have connected to "..hubname)
					return 1
				
				--elseif tChatRoom[user.sName]["state"] == [	
				end
			end
		end
	end
end

blackwings

Why not use this code and also allow these profiles = Operators, VIP, Reg, User (with other words, all other default ptokax profiles)

--Requested by ?????k??
--Made by nErBoS

sBot = "Master-Chat"

info_chat = "$MyINFO $ALL "..sBot.."  Master-Chat  $ $Cable"..strchar( 1 ).."$$0$|" 

function OpConnected(user, data)
	if (user.iProfile == 0) then
		user:SendData( info_chat )
	end
end

function DataArrival(user, data)

	if (strsub(data,1,12) == "$GetNickList") then
		if (user.iProfile == 0) then
			user:SendData( info_chat )
		end
	end
	
	if (strsub(data,1,5+strlen(sBot)) == "$To: "..sBot) then
		if (user.iProfile == 0) then
			local aux,usr
			local s,e,talk = strfind(data, "$To:%s+%S+%s+From:%s+%S+%s+$%b<>%s+(.+)")
			for aux, usr in GetUsersByProfile("Master") do
				if (GetItemByName(usr) ~= nil and usr ~= user.sName) then
					SendToNick(usr, "$To: "..usr.." From: "..sBot.." $<"..user.sName.."> "..talk)
				end
			end
		end
	end
end


Corayzon

this is because this was a request for a masters chat from ?????k?? ;)

blackwings

QuoteOriginally posted by Corayzon
this is because this was a request for a masters chat from ?????k?? ;)

That wasn't any real answer to my problem :P Is it really so hard just to add all profiles to the code I posted ealier? which if it's done, everyone will be able to chat there.


plop

#9
QuoteOriginally posted by blackwings
QuoteOriginally posted by Corayzon
this is because this was a request for a masters chat from ?????k?? ;)

That wasn't any real answer to my problem :P Is it really so hard just to add all profiles to the code I posted ealier? which if it's done, everyone will be able to chat there.
here you have a really lame chat room script.
so lame i didn't have the guts 2 try it.
-- really lame chat room bot
-- by plop

Bot = "Chat_room"

function Main()
   frmHub:RegBot(Bot)
end

function DataArrival(user, data)
   if(strsub(data, 1, 4) == "$To:") then
      local s,e,whoTo = strfind(data,"$To:%s+(%S+)")
      if whoTo == Bot then 
         data=strsub(data,1,strlen(data)-1) 
         local s,e,txt = strfind(data, "%$(%b<>.+)")
         if txt then
            SendPmToAll(Bot, txt.."|")
         end
      end
   end
end
plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<


plop

copyed 1 line 2 much. lol
was actualy a room for vips only.
but edited my post and it's now open 2 all levels.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

blackwings

#12
The chat room do as it should, but when I send messages with DC++ 0.401, I get =
Syntax Error: attempt to index local `nick' (a nil value)

But I don't get any error when I send messages with pDC++ 0.306 1.19b.


Another thing, is it possible to in the chat room to remove the botname before the usernames, or atleast be able to config your-self what it shold say?

Instead of this =
<*Chat Bot> Chatting etc....

it should be like this =
Chatting etc....
            or
<*CB> Chatting etc....


Is it also possible that in your own chat window, that you dont get a double message of your message, here is a example on how it is now =

Chatting....
<*Chat Bot> Chatting....

Instead you shall just see =

<*Chat Bot> Chatting....

I know that these similar examples are confusing, but I tried my best :P Anyway, I hope this is possible and that someone will help me.


plop

#13
both requests done.
---------------------------------------
-- V 1
-- really lame chat room bot
----
-- V 2
-- doesn't repeat 2 the sender
-- doesn't show botname on the pm's
---------------------------------------
-- by plop        [URL]http://www.plop.nl[/URL] --
---------------------------------------

Bot = "Chat_room"

tUsers = {}

function Main()
   frmHub:RegBot(Bot)
end

function DataArrival(user, data)
   if tUsers[user.sName] == nil then
      tUsers[user.sName] = 1
   end
   if(strsub(data, 1, 4) == "$To:") then
      local s,e,whoTo = strfind(data,"$To:%s+(%S+)")
      if whoTo == Bot then 
         data=strsub(data,1,strlen(data)-1) 
         local s,e,txt = strfind(data, "%$(%b<>.+)")
         local usr
         if txt then
            for a,b in tUsers do
               if a ~= user.sName then
                  usr = GetItemByName(a)
                  if usr then
                     usr:SendData("$To: "..usr.sName.." From: "..Bot.." $"..txt.."|")
                  else
                     tUsers[a] = nil
                  end
               end
            end
         end
      end
   end
end

function OpConnected(user)
   if tUsers[user.sName] == nil then
      tUsers[user.sName] = 1
   end
end

NewUserConnected = OpConnected

function OpDisconnected(user)
   if tUsers[user.sName] then
      tUsers[user.sName] = nil
   end
end

UserDisconnected = OpDisconnected

the error you posted can't be from this chat script.
the vallue nick isn't used anywhere.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

blackwings

#14
QuoteOriginally posted by plop
the error you posted can't be from this chat script.
the vallue nick isn't used anywhere.

plop

That's strange, can it be channelbot 0.9g or Bad word combination script(the one with gag function, made by Nerbos)?


bastya_elvtars

i think tis sould work as:

1) a user opens a room

(eg. !openchat )

2) he/she invites peeps

OR

2) roombot notifiens peeps already there when a user enters/leaves
Everything could have been anything else and it would have just as much meaning.

blackwings

#16
QuoteOriginally posted by bastya_elvtars
i think tis sould work as:

1) a user opens a room

(eg. !openchat )

2) he/she invites peeps

OR

2) roombot notifiens peeps already there when a user enters/leaves

that's sounds too complicated :P I think it nice as it is:)(but I haven't tested the new version yet :P)

EDIT: eh, well the function that it could give a user that enters, a messages that tells if there are other people there or not, is nice. But I don't know if it's possible


plop

QuoteOriginally posted by bastya_elvtars
i think tis sould work as:

1) a user opens a room

(eg. !openchat )

2) he/she invites peeps

OR

2) roombot notifiens peeps already there when a user enters/leaves
i believe tezlo's chatroom bot works like that.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

[FRDH]freestyler

is there no script that see only ops and users[not all users only the users wo are in the room]and that as a user in the chatroom is that there is a message with
' the user freestyler is entering the chatroom'
and not al users see what he is asking only he and the OPS/masters/owners






=======================================
FRDH
    //www.frdh.nl.tt
    dchub://frdh.no-ip.info:410                  :)
    dchub://frdh2.no-ip.info:412
    =======================================

    plop

    QuoteOriginally posted by [FRDH]freestyler
    is there no script that see only ops and users[not all users only the users wo are in the room]and that as a user in the chatroom is that there is a message with
    ' the user freestyler is entering the chatroom'
    and not al users see what he is asking only he and the OPS/masters/owners
    that sounds a bit like an open opchat.
    am i right??

    plop
    http://www.plop.nl lua scripts/howto\'s.
    http://www.thegoldenangel.net
    http://www.vikingshub.com
    http://www.lua.org

    >>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

    SMF spam blocked by CleanTalk