+ Message m = Commands::Ban(Interp::bot, Utils::scm2str(channel),
+ Utils::scm2str(who));
+ return scm_from_int(m.getCode());
+}
+
+SCM
+ScriptCommands::ChangeCommandLevel(SCM command, SCM level)
+{
+ VERIFY_STRING (command);
+ VERIFY_NUMBER (level);
+
+ std::string ccommand = scm_to_locale_string (command);
+ unsigned int llevel = scm_to_uint (level);
+
+ if (llevel > 4)
+ return SCM_BOOL_F;
+
+ std::map<std::string, class userFunction*,
+ std::less<std::string> >::const_iterator uf_iter
+ = Interp::bot->userFunctions.find (ccommand);
+ userFunction * f = 0;
+
+ if (uf_iter != Interp::bot->userFunctions.end ())
+ f = uf_iter->second;
+ else
+ return SCM_BOOL_F;
+
+ f->minLevel = llevel;
+ return SCM_BOOL_T;
+}
+
+SCM
+ScriptCommands::CTCP(SCM to, SCM command , SCM message)
+{
+ VERIFY_STRING(to);
+ VERIFY_STRING(command);
+ VERIFY_STRING(message);
+
+ Commands::CTCP (Interp::bot, Utils::scm2str (to),
+ Utils::scm2str (command),
+ Utils::scm2str (message));
+
+ return SCM_UNSPECIFIED;
+}
+
+SCM
+ScriptCommands::CTCPReply (SCM to, SCM command , SCM message)
+{
+ VERIFY_STRING(to);
+ VERIFY_STRING(command);
+ VERIFY_STRING(message);
+
+ Commands::CTCPReply (Interp::bot, Utils::scm2str (to),
+ Utils::scm2str (command),
+ Utils::scm2str (message));
+
+ return SCM_UNSPECIFIED;