<commit_before>-- This file is licensed under the terms of the BSD 2-clause license.
-- See LICENSE.txt for details.

local modpath = minetest.get_modpath(minetest.get_current_modname())

package.path =
		-- To find LuaIRC's init.lua
		modpath.."/?/init.lua;"
		-- For LuaIRC to find its files
		..modpath.."/?.lua;"
		..package.path

-- The build of Lua that Minetest comes with only looks for libraries under
-- /usr/local/share and /usr/local/lib but LuaSocket is often installed under
-- /usr/share and /usr/lib.
if not jit and package.config:sub(1, 1) == "/" then
	package.path = package.path..
			";/usr/share/lua/5.1/?.lua"..
			";/usr/share/lua/5.1/?/init.lua"
   	package.cpath = package.cpath..
 --			";/usr/lib/lua/5.1/?.so"
			";/usr/lib/x86_64-linux-gnu/lua/5.1/?.so"
end

irc = {
	version = "0.2.0",
	connected = false,
	cur_time = 0,
	message_buffer = {},
	recent_message_count = 0,
	joined_players = {},
	modpath = modpath,
	lib = require("irc"),
}

-- Compatibility
mt_irc = irc

dofile(modpath.."/config.lua")
dofile(modpath.."/messages.lua")
dofile(modpath.."/hooks.lua")
dofile(modpath.."/callback.lua")
dofile(modpath.."/chatcmds.lua")
dofile(modpath.."/botcmds.lua")
if irc.config.enable_player_part then
	dofile(modpath.."/player_part.lua")
else
	setmetatable(irc.joined_players, {__index = function(index) return true end})
end

minetest.register_privilege("irc_admin", {
	description = "Allow IRC administrative tasks to be performed.",
	give_to_singleplayer = true
})

local stepnum = 0

minetest.register_globalstep(function(dtime) return irc:step(dtime) end)

function irc:step(dtime)
	if stepnum == 3 then
		if self.config.auto_connect then
			self:connect()
		end
	end
	stepnum = stepnum + 1

	if not self.connected then return end

	-- Hooks will manage incoming messages and errors
	local good, err = xpcall(function() self.conn:think() end, debug.traceback)
	if not good then
		print(err)
		return
	end
end


function irc:connect()
	if self.connected then
		minetest.log("error", "IRC: Ignoring attempt to connect when already connected.")
		return
	end
	self.conn = irc.lib.new({
		nick = self.config.nick,
		username = "Minetest",
		realname = "Minetest",
	})
	self:doHook(self.conn)
	local good, message = pcall(function()
		self.conn:connect({
			host = self.config.server,
			port = self.config.port,
			password = self.config.password,
			timeout = self.config.timeout,
			secure = self.config.secure
		})
	end)

	if not good then
		minetest.log("error", ("IRC: Connection error: %s: %s -- Reconnecting in ten minutes...")
					:format(self.config.server, message))
		minetest.after(600, function() self:connect() end)
		return
	end

	print("== This is a debug line, please check for it ==")
	print(self.config.NSPASS)
	print("=== DEBUG FINISHED ===")
	if self.config.NSPass then
		self:say("NickServ", "IDENTIFY "..self.config.NSPass)
	end

	self.conn:join(self.config.channel, self.config.key)
	self.connected = true
	minetest.log("action", "IRC: Connected!")
	minetest.chat_send_all("IRC: Connected!")
end


function irc:disconnect(message)
	if self.connected then
		--The OnDisconnect hook will clear self.connected and print a disconnect message
		self.conn:disconnect(message)
	end
end


function irc:say(to, message)
	if not message then
		message = to
		to = self.config.channel
	end<commit_msg>Fixed debug line for NSPass in irc mod<commit_after>-- This file is licensed under the terms of the BSD 2-clause license.
-- See LICENSE.txt for details.

local modpath = minetest.get_modpath(minetest.get_current_modname())

package.path =
		-- To find LuaIRC's init.lua
		modpath.."/?/init.lua;"
		-- For LuaIRC to find its files
		..modpath.."/?.lua;"
		..package.path

-- The build of Lua that Minetest comes with only looks for libraries under
-- /usr/local/share and /usr/local/lib but LuaSocket is often installed under
-- /usr/share and /usr/lib.
if not jit and package.config:sub(1, 1) == "/" then
	package.path = package.path..
			";/usr/share/lua/5.1/?.lua"..
			";/usr/share/lua/5.1/?/init.lua"
   	package.cpath = package.cpath..
 --			";/usr/lib/lua/5.1/?.so"
			";/usr/lib/x86_64-linux-gnu/lua/5.1/?.so"
end

irc = {
	version = "0.2.0",
	connected = false,
	cur_time = 0,
	message_buffer = {},
	recent_message_count = 0,
	joined_players = {},
	modpath = modpath,
	lib = require("irc"),
}

-- Compatibility
mt_irc = irc

dofile(modpath.."/config.lua")
dofile(modpath.."/messages.lua")
dofile(modpath.."/hooks.lua")
dofile(modpath.."/callback.lua")
dofile(modpath.."/chatcmds.lua")
dofile(modpath.."/botcmds.lua")
if irc.config.enable_player_part then
	dofile(modpath.."/player_part.lua")
else
	setmetatable(irc.joined_players, {__index = function(index) return true end})
end

minetest.register_privilege("irc_admin", {
	description = "Allow IRC administrative tasks to be performed.",
	give_to_singleplayer = true
})

local stepnum = 0

minetest.register_globalstep(function(dtime) return irc:step(dtime) end)

function irc:step(dtime)
	if stepnum == 3 then
		if self.config.auto_connect then
			self:connect()
		end
	end
	stepnum = stepnum + 1

	if not self.connected then return end

	-- Hooks will manage incoming messages and errors
	local good, err = xpcall(function() self.conn:think() end, debug.traceback)
	if not good then
		print(err)
		return
	end
end


function irc:connect()
	if self.connected then
		minetest.log("error", "IRC: Ignoring attempt to connect when already connected.")
		return
	end
	self.conn = irc.lib.new({
		nick = self.config.nick,
		username = "Minetest",
		realname = "Minetest",
	})
	self:doHook(self.conn)
	local good, message = pcall(function()
		self.conn:connect({
			host = self.config.server,
			port = self.config.port,
			password = <PASSWORD>,
			timeout = self.config.timeout,
			secure = self.config.secure
		})
	end)

	if not good then
		minetest.log("error", ("IRC: Connection error: %s: %s -- Reconnecting in ten minutes...")
					:format(self.config.server, message))
		minetest.after(600, function() self:connect() end)
		return
	end

	print("== This is a debug line, please check for it ==")
	print(self.config.NSPass)
	print("=== DEBUG FINISHED ===")
	if self.config.NSPass then
		self:say("NickServ", "IDENTIFY "..self.config.NSPass)
	end

	self.conn:join(self.config.channel, self.config.key)
	self.connected = true
	minetest.log("action", "IRC: Connected!")
	minetest.chat_send_all("IRC: Connected!")
end


function irc:disconnect(message)
	if self.connected then
		--The OnDisconnect hook will clear self.connected and print a disconnect message
		self.conn:disconnect(message)
	end
end


function irc:say(to, message)
	if not message then
		message = to
		to = self.config.channel
	end
{'fraction_non_alphanumeric': 0.1427078668457979, 'fraction_numerical': 0.007762352589938797, 'mean_word_length': 3.806312769010043, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4964926', 'n_tokens_mistral': 2591, 'n_tokens_neox': 2412, 'n_words': 600}